{"_id":"stream-connect","_rev":"52232","name":"stream-connect","description":"Connects an arbitrary number of streams into a single, combined stream","dist-tags":{"latest":"1.0.2"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"time":{"modified":"2021-06-03T10:15:58.000Z","created":"2015-06-28T11:08:55.655Z","1.0.2":"2016-01-04T22:35:39.217Z","1.0.1":"2016-01-01T18:04:55.921Z","1.0.0":"2016-01-01T17:52:36.963Z","0.2.4":"2015-12-26T10:20:03.473Z","0.2.3":"2015-12-26T10:17:19.344Z","0.2.2":"2015-12-26T00:22:03.190Z","0.2.1":"2015-12-25T23:36:34.189Z","0.2.0":"2015-12-25T22:56:11.028Z","0.1.0":"2015-06-28T11:08:55.655Z"},"users":{},"author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"versions":{"1.0.2":{"name":"stream-connect","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"1.0.2","description":"Connects an arbitrary number of streams into a single, combined stream","repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"license":"MIT","main":"./lib/stream-connect.js","keywords":["connect","combine","stream","streams","transform"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","docs":"jsdoc2md -t jsdoc2md/README.hbs lib/*.js > README.md; echo","cover":"istanbul cover ./node_modules/.bin/tape test/*.js && cat coverage/lcov.info | ./node_modules/.bin/coveralls && rm -rf coverage; echo"},"devDependencies":{"coveralls":"^2.11.6","jsdoc-to-markdown":"^1.1.1","stream-via":"^0.1.1","tape":"^4.0.0"},"dependencies":{"array-back":"^1.0.2"},"gitHead":"caf4c9c252d82e3a8da3850e88490f145fae7967","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"homepage":"https://github.com/75lb/stream-connect#readme","_id":"stream-connect@1.0.2","_shasum":"18bc81f2edb35b8b5d9a8009200a985314428a97","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"18bc81f2edb35b8b5d9a8009200a985314428a97","size":3915,"noattachment":false,"key":"/stream-connect/-/stream-connect-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/stream-connect/download/stream-connect-1.0.2.tgz"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"directories":{},"publish_time":1451946939217,"_cnpm_publish_time":1451946939217,"_hasShrinkwrap":false},"1.0.1":{"name":"stream-connect","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"1.0.1","description":"Connects an arbitrary number of streams into a single, combined stream","repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"license":"MIT","main":"./lib/stream-connect.js","keywords":["connect","combine","stream","streams","transform"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","docs":"jsdoc2md -t jsdoc2md/README.hbs lib/*.js > README.md; echo","cover":"istanbul cover ./node_modules/.bin/tape test/*.js && cat coverage/lcov.info | ./node_modules/.bin/coveralls && rm -rf coverage; echo"},"devDependencies":{"coveralls":"^2.11.6","jsdoc-to-markdown":"^1.1.1","stream-via":"^0.1.1","tape":"^4.0.0"},"dependencies":{"array-back":"^1.0.2"},"gitHead":"d1957e5fd684e3b4da3fb65e863a8b91c23bc548","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"homepage":"https://github.com/75lb/stream-connect#readme","_id":"stream-connect@1.0.1","_shasum":"c8469ee25ecc283231a9f47bdb62450e9d65cae4","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"c8469ee25ecc283231a9f47bdb62450e9d65cae4","size":3871,"noattachment":false,"key":"/stream-connect/-/stream-connect-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/stream-connect/download/stream-connect-1.0.1.tgz"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"directories":{},"publish_time":1451671495921,"_cnpm_publish_time":1451671495921,"_hasShrinkwrap":false},"1.0.0":{"name":"stream-connect","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"1.0.0","description":"Connects an arbitrary number of streams into a single, combined stream","repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"license":"MIT","main":"./lib/stream-connect.js","keywords":["connect","combine","stream","streams","transform"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","docs":"jsdoc2md -t jsdoc2md/README.hbs lib/*.js > README.md; echo"},"devDependencies":{"jsdoc-to-markdown":"^1.1.1","stream-via":"^0.1.1","tape":"^4.0.0"},"dependencies":{"array-back":"^1.0.2"},"gitHead":"9492dc26e969c06222181522778319c57f9ed719","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"homepage":"https://github.com/75lb/stream-connect#readme","_id":"stream-connect@1.0.0","_shasum":"593729b30d91dbeaf4e955e9ebcbfdee8c155663","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"593729b30d91dbeaf4e955e9ebcbfdee8c155663","size":3643,"noattachment":false,"key":"/stream-connect/-/stream-connect-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stream-connect/download/stream-connect-1.0.0.tgz"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"directories":{},"publish_time":1451670756963,"_cnpm_publish_time":1451670756963,"_hasShrinkwrap":false},"0.2.4":{"name":"stream-connect","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.2.4","description":"Create a pipeline of connected streams","repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"license":"MIT","main":"./lib/stream-connect.js","keywords":["connect","combine","stream","streams","transform"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","docs":"jsdoc2md -t jsdoc2md/README.hbs lib/*.js > README.md; echo"},"devDependencies":{"jsdoc-to-markdown":"^1.1.1","stream-via":"^0.1.1","tape":"^4.0.0"},"gitHead":"5b55cae25da3ee4ec4db60a1ac13e055e6ed6984","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"homepage":"https://github.com/75lb/stream-connect#readme","_id":"stream-connect@0.2.4","_shasum":"b893acabf23401c0c2f0751a17c323097e45e7db","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"b893acabf23401c0c2f0751a17c323097e45e7db","size":3232,"noattachment":false,"key":"/stream-connect/-/stream-connect-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/stream-connect/download/stream-connect-0.2.4.tgz"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"directories":{},"publish_time":1451125203473,"_cnpm_publish_time":1451125203473,"_hasShrinkwrap":false},"0.2.3":{"name":"stream-connect","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.2.3","description":"Create a pipeline of connected streams","repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"license":"MIT","main":"./lib/stream-connect.js","keywords":["connect","combine","stream","streams","transform"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","docs":"jsdoc2md -t jsdoc2md/README.hbs lib/*.js > README.md; echo"},"devDependencies":{"jsdoc-to-markdown":"^1.1.1","stream-via":"^0.1.1","tape":"^4.0.0"},"gitHead":"ca200e7fb79c7f681f2b3112cb4b031acbc88f11","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"homepage":"https://github.com/75lb/stream-connect#readme","_id":"stream-connect@0.2.3","_shasum":"dada3ac30ba8f07760afcb487e8c0c2191cc4b3e","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"dada3ac30ba8f07760afcb487e8c0c2191cc4b3e","size":3201,"noattachment":false,"key":"/stream-connect/-/stream-connect-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/stream-connect/download/stream-connect-0.2.3.tgz"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"directories":{},"publish_time":1451125039344,"_cnpm_publish_time":1451125039344,"_hasShrinkwrap":false},"0.2.2":{"name":"stream-connect","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.2.2","description":"Create a pipeline of connected streams","repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"license":"MIT","main":"./lib/stream-connect.js","keywords":["connect","combine","stream","streams","transform"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","docs":"jsdoc2md -t jsdoc2md/README.hbs lib/*.js > README.md; echo"},"devDependencies":{"jsdoc-to-markdown":"^1.1.1","stream-via":"^0.1.1","tape":"^4.0.0"},"gitHead":"5316371178305350f62abb7ebf0002d5ca983fe9","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"homepage":"https://github.com/75lb/stream-connect#readme","_id":"stream-connect@0.2.2","_shasum":"532243935c67d3973161bbcb97efdc517a976450","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"532243935c67d3973161bbcb97efdc517a976450","size":3146,"noattachment":false,"key":"/stream-connect/-/stream-connect-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/stream-connect/download/stream-connect-0.2.2.tgz"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"directories":{},"publish_time":1451089323190,"_cnpm_publish_time":1451089323190,"_hasShrinkwrap":false},"0.2.1":{"name":"stream-connect","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.2.1","description":"Create a pipeline of connected streams","repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"license":"MIT","main":"./lib/stream-connect.js","keywords":["connect","combine","stream","streams","transform"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","docs":"jsdoc2md -t jsdoc2md/README.hbs lib/*.js > README.md; echo"},"devDependencies":{"jsdoc-to-markdown":"^1.1.1","stream-via":"^0.1.1","tape":"^4.0.0"},"gitHead":"1e9b14947a8e910a9b2cb8007d7547fbf1e0d80b","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"homepage":"https://github.com/75lb/stream-connect#readme","_id":"stream-connect@0.2.1","_shasum":"d3baadefa0ba50e44fbb97a6c060be6e4ac91b90","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"d3baadefa0ba50e44fbb97a6c060be6e4ac91b90","size":2924,"noattachment":false,"key":"/stream-connect/-/stream-connect-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/stream-connect/download/stream-connect-0.2.1.tgz"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"directories":{},"publish_time":1451086594189,"_cnpm_publish_time":1451086594189,"_hasShrinkwrap":false},"0.2.0":{"name":"stream-connect","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.2.0","description":"Create a pipeline of connected streams","repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"license":"MIT","main":"./lib/stream-connect.js","keywords":["connect","combine","stream","streams","transform"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","docs":"jsdoc2md -t jsdoc2md/README.hbs lib/*.js > README.md; echo"},"devDependencies":{"jsdoc-to-markdown":"^1.1.1","stream-via":"^0.1.1","tape":"^4.0.0"},"gitHead":"1ed144ed7cfe673c0b0b8cac03fdf6c4ef369006","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"homepage":"https://github.com/75lb/stream-connect#readme","_id":"stream-connect@0.2.0","_shasum":"71a66d6ff3263ec7cc79f1fa4843016f20e045e6","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"71a66d6ff3263ec7cc79f1fa4843016f20e045e6","size":2828,"noattachment":false,"key":"/stream-connect/-/stream-connect-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stream-connect/download/stream-connect-0.2.0.tgz"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"directories":{},"publish_time":1451084171028,"_cnpm_publish_time":1451084171028,"_hasShrinkwrap":false},"0.1.0":{"name":"stream-connect","author":{"name":"Lloyd Brookes","email":"75pound@gmail.com"},"version":"0.1.0","description":"Create a pipeline of connected streams","repository":{"type":"git","url":"git+https://github.com/75lb/stream-connect.git"},"license":"MIT","main":"./lib/stream-connect.js","keywords":["connect","combine","stream","streams","transform"],"engines":{"node":">=0.10.0"},"scripts":{"test":"tape test/*.js","lint":"jshint lib/*.js bin/*.js test/*.js; echo","docs":"jsdoc2md -t jsdoc2md/README.hbs lib/*.js > README.md; echo"},"devDependencies":{"jsdoc-to-markdown":"^1.1.1","tape":"^4.0.0"},"gitHead":"d2f32451d0391629f5cdd7cb9106b6ab9fafa782","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"homepage":"https://github.com/75lb/stream-connect#readme","_id":"stream-connect@0.1.0","_shasum":"01d2e8469d4deba49ffa1c8d079dba15fbeb7f28","_from":".","_npmVersion":"2.12.0","_nodeVersion":"0.12.5","_npmUser":{"name":"75lb","email":"75pound@gmail.com"},"dist":{"shasum":"01d2e8469d4deba49ffa1c8d079dba15fbeb7f28","size":2654,"noattachment":false,"key":"/stream-connect/-/stream-connect-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/stream-connect/download/stream-connect-0.1.0.tgz"},"maintainers":[{"name":"75lb","email":"75pound@gmail.com"}],"directories":{},"publish_time":1435489735655,"_cnpm_publish_time":1435489735655,"_hasShrinkwrap":false}},"readme":"[![view on npm](http://img.shields.io/npm/v/stream-connect.svg)](https://www.npmjs.org/package/stream-connect)\n[![npm module downloads](http://img.shields.io/npm/dt/stream-connect.svg)](https://www.npmjs.org/package/stream-connect)\n[![Build Status](https://travis-ci.org/75lb/stream-connect.svg?branch=master)](https://travis-ci.org/75lb/stream-connect)\n[![Coverage Status](https://coveralls.io/repos/75lb/stream-connect/badge.svg?branch=master&service=github)](https://coveralls.io/github/75lb/stream-connect?branch=master)\n[![Dependency Status](https://david-dm.org/75lb/stream-connect.svg)](https://david-dm.org/75lb/stream-connect)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/feross/standard)\n\n# stream-connect\n\nSimilar to `.pipe` except `.pipe` returns the last stream in a pipeline. stream-connect returns a stream which writes to the first stream in the pipeline and reads from the last.\n\n## Synopsis\n\n```js\nconst connect = require('stream-connect')\nconst fs = require('fs')\n\nconst connected = connect(stream1, stream2, stream3, stream4)\n\n// data piped into the connected stream is transparently passed through all four internal streams\n// then output into process.stdout. Errors in any of the internal streams are emitted\n// by the connected stream.\nprocess.stdin\n  .pipe(connected)\n  .on('error', console.error)\n  .pipe(process.stdout)\n```\n\n## More detail\n\nConsider this `.pipe` example.\n\n```js\nfunction getExampleStream () {\n ...\n return streamOne.pipe(streamTwo)\n}\nconst stream = getExampleStream()\nstream.on('data', function (chunk) {}) // catches data from streamOne via streamTwo\nstream.on('error', function (err) {}) // catches errors only from streamTwo\nstream.end('test') // is written to streamTwo\n```\n\nIf you write to the output it will be written to `streamTwo`, whereas you probably wanted to write to the  start of the pipeline and read from the end. Fixed by stream-connect:\n\n```js\nconst connect = require('stream-connect')\nfunction getExampleStream () {\n ...\n return connect(streamOne, streamTwo)\n}\nconst stream = getExampleStream()\nstream.on('data', function (chunk) {}) // catches data from streamOne via streamTwo\nstream.on('error', function (err) {}) // catches errors from both streamOne and streamTwo\nstream.end('test') // is written to streamOne\n```\n\nAny errors emitted in `streamOne` or `streamTwo` are propagated to the output stream.\n\n<a name=\"module_stream-connect\"></a>\n## stream-connect\n**Example**  \n```js\nconst connect = require('stream-connect')\n```\n<a name=\"exp_module_stream-connect--connect\"></a>\n### connect(...streams) ⇒ <code>[Duplex](https://nodejs.org/api/stream.html#stream_class_stream_duplex)</code> ⏏\nConnect streams.\n\n**Kind**: Exported function  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| ...streams | <code>[Duplex](https://nodejs.org/api/stream.html#stream_class_stream_duplex)</code> | One or more streams to connect. |\n\n\n* * *\n\n&copy; 2015 Lloyd Brookes \\<75pound@gmail.com\\>. Documented by [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown).\n","_attachments":{},"homepage":"https://github.com/75lb/stream-connect#readme","bugs":{"url":"https://github.com/75lb/stream-connect/issues"},"license":"MIT"}