c29b520108 | ||
---|---|---|
.. | ||
jsdoc2md | ||
lib | ||
node_modules/array-back | ||
test | ||
.coveralls.yml | ||
.npmignore | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
package.json |
README.md
stream-connect
Similar 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.
Synopsis
const connect = require('stream-connect')
const fs = require('fs')
const connected = connect(stream1, stream2, stream3, stream4)
// data piped into the connected stream is transparently passed through all four internal streams
// then output into process.stdout. Errors in any of the internal streams are emitted
// by the connected stream.
process.stdin
.pipe(connected)
.on('error', console.error)
.pipe(process.stdout)
More detail
Consider this .pipe
example.
function getExampleStream () {
...
return streamOne.pipe(streamTwo)
}
const stream = getExampleStream()
stream.on('data', function (chunk) {}) // catches data from streamOne via streamTwo
stream.on('error', function (err) {}) // catches errors only from streamTwo
stream.end('test') // is written to streamTwo
If 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:
const connect = require('stream-connect')
function getExampleStream () {
...
return connect(streamOne, streamTwo)
}
const stream = getExampleStream()
stream.on('data', function (chunk) {}) // catches data from streamOne via streamTwo
stream.on('error', function (err) {}) // catches errors from both streamOne and streamTwo
stream.end('test') // is written to streamOne
Any errors emitted in streamOne
or streamTwo
are propagated to the output stream.
stream-connect
Example
const connect = require('stream-connect')
connect(...streams) ⇒ Duplex
⏏
Connect streams.
Kind: Exported function
Param | Type | Description |
---|---|---|
...streams | Duplex |
One or more streams to connect. |
© 2015 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.