File size: 1,661 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# stream-composer
Modern stream composer
```
npm install stream-composer
```
Supports composing and pipelining multiple streams into a single [streamx](https://github.com/mafintosh/streamx) stream.
## Usage
``` js
const Composer = require('stream-composer')
// Make a duplex stream out of a read and write stream
const stream = new Composer()
stream.setReadable(someReadableStream) // set readable side
stream.setWritable(someWritableStream) // set writable side
// reads, read from the readable stream
stream.on('data', function (data) {
// data is from someReadableStream
})
// writes, write to the writable stream
stream.write(data)
```
## API
#### `stream = new Composer([options])`
Make a new composer. Optionally pass the writable stream and readable stream in the constructor.
Options are forwarded to streamx.
#### `stream.setReadable(readableStream)`
Set the readable stream. If you pass `null` the readable stream will be set to an empty stream for you.
#### `stream.setWritable(writableStream)`
Set the writable stream. If you pass `null` the writable stream will be set to an empty stream for you.
#### `stream.setPipeline(...pipelineStreams)`
Set the stream to a pipeline. Writing to the outer stream writes to the first stream in the pipeline
and reading from the outer stream, reads from the last stream in the pipeline.
#### `stream = Composer.pipeline(...pipelineStreams)`
Helper for making a composer stream and setting the pipeline in one go.
#### `stream = Composer.duplexer(writableStream, readableStream)`
Helper for making a composer stream and setting the writable and readable stream in one go.
## License
MIT
|