JSPM

pull-pair

1.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1307
  • Score
    100M100P100Q119002F
  • License MIT

pair a source pull-stream and a sink pull-stream

Package Exports

  • pull-pair
  • pull-pair/duplex

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pull-pair) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

pull-pair

A pair of {source, sink} streams that are internally connected, (what goes into the sink comes out the source)

This can be used to construct pipelines that are connected.

var pull = require('pull-stream')
var pair = require('pull-pair')

var p = pair()

//read values into this sink...
pull(pull.values([1, 2, 3]), p.sink)

//but that should become the source over here.
pull(p.source, pull.collect(function (err, values) {
  if(err) throw err
  console.log(values) //[1, 2, 3]
}))

This is particularily useful for creating duplex streams especilaly around servers. Use pull-pair/duplex to get two duplex streams that are attached to each other.

var DuplexPair = require('pull-pair/duplex')

var d = DuplexPair()

//the "client": pipe to the first duplex and get the response.
pull(
  pull.values([1,2,3]),
  d[0],
  pull.collect(console.log) // => 10, 20, 30
)

//the "server": pipe from the second stream back to itself
//(in this case) appling a transformation.
pull(
  d[1],
  pull.map(function (e) {
    return e*10
  }),
  d[1]
)

License

MIT