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.