{"_id":"pull-pair","_rev":"4646756","name":"pull-pair","description":"pair a source pull-stream and a sink pull-stream","dist-tags":{"latest":"1.1.0"},"maintainers":[{"name":"arj03","email":""},{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"time":{"modified":"2026-04-10T20:19:30.000Z","created":"2013-12-08T09:08:53.363Z","1.1.0":"2016-03-13T03:23:59.434Z","1.0.0":"2013-12-08T09:08:53.363Z"},"users":{},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"repository":{"type":"git","url":"git://github.com/dominictarr/pull-pair.git"},"versions":{"1.1.0":{"name":"pull-pair","description":"pair a source pull-stream and a sink pull-stream","version":"1.1.0","homepage":"https://github.com/dominictarr/pull-pair","repository":{"type":"git","url":"git://github.com/dominictarr/pull-pair.git"},"devDependencies":{"pull-stream":"^3.2.0","tape":"^4.5.1"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"license":"MIT","gitHead":"e2db349b4bcd8936b994e21b4d33dad5b6e3fbb2","bugs":{"url":"https://github.com/dominictarr/pull-pair/issues"},"_id":"pull-pair@1.1.0","_shasum":"7ee427263fdf4da825397ac0a05e1ab4b74bd76d","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.6.0","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"dist":{"shasum":"7ee427263fdf4da825397ac0a05e1ab4b74bd76d","size":2308,"noattachment":false,"key":"/pull-pair/-/pull-pair-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pull-pair/download/pull-pair-1.1.0.tgz"},"maintainers":[{"name":"arj03","email":""},{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/pull-pair-1.1.0.tgz_1457839438978_0.08230053540319204"},"directories":{},"publish_time":1457839439434,"_hasShrinkwrap":false,"_cnpm_publish_time":1457839439434,"_cnpmcore_publish_time":"2021-12-16T15:47:03.425Z"},"1.0.0":{"name":"pull-pair","description":"pair a source pull-stream and a sink pull-stream","version":"1.0.0","homepage":"https://github.com/dominictarr/pull-pair","repository":{"type":"git","url":"git://github.com/dominictarr/pull-pair.git"},"devDependencies":{"tape":"~1.0.4","pull-stream":"~2.20.1"},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"license":"MIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/dominictarr/pull-pair/issues"},"_id":"pull-pair@1.0.0","dist":{"shasum":"b5ee1269a265266d2585205ce92ec0e88d5a19dc","size":1787,"noattachment":false,"key":"/pull-pair/-/pull-pair-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/pull-pair/download/pull-pair-1.0.0.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"arj03","email":""},{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{},"publish_time":1386493733363,"_hasShrinkwrap":false,"_cnpm_publish_time":1386493733363,"_cnpmcore_publish_time":"2021-12-16T15:47:03.663Z"}},"readme":"# pull-pair\n\nA pair of {source, sink} streams that are internally connected,\n(what goes into the sink comes out the source)\n\nThis can be used to construct pipelines that are connected.\n\n``` js\nvar pull = require('pull-stream')\nvar pair = require('pull-pair')\n\nvar p = pair()\n\n//read values into this sink...\npull(pull.values([1, 2, 3]), p.sink)\n\n//but that should become the source over here.\npull(p.source, pull.collect(function (err, values) {\n  if(err) throw err\n  console.log(values) //[1, 2, 3]\n}))\n\n```\n\nThis is particularily useful for creating duplex streams especilaly\naround servers. Use `pull-pair/duplex` to get two duplex streams\nthat are attached to each other.\n\n``` js\nvar DuplexPair = require('pull-pair/duplex')\n\nvar d = DuplexPair()\n\n//the \"client\": pipe to the first duplex and get the response.\npull(\n  pull.values([1,2,3]),\n  d[0],\n  pull.collect(console.log) // => 10, 20, 30\n)\n\n//the \"server\": pipe from the second stream back to itself\n//(in this case) appling a transformation.\npull(\n  d[1],\n  pull.map(function (e) {\n    return e*10\n  }),\n  d[1]\n)\n```\n\n## License\n\nMIT\n\n","_attachments":{},"homepage":"https://github.com/dominictarr/pull-pair","bugs":{"url":"https://github.com/dominictarr/pull-pair/issues"},"license":"MIT"}