stream-promise
v3.2.0
Published
Promise that shares Node.js Stream interface
Downloads
3,963,845
Maintainers
Readme
stream-promise
Convert any Stream instance to thenable
So it can be consumed both as a promise and as a stream
Installation
npm install stream-promise
Usage
Stream must be either readable or writable.
In case of readable streams, promise resolves with concatenated output, in case of writable streams resolve with undefined
To achieve expected result stream should be converted immediately after initialization.
const streamPromise = require("stream-promise");
streamPromise(someReadableStream);
someReadableStream.then(result => { console.log("Concatenated stream output", result); });
streamPromise(someWritabletream);
someReadableStream.then(result => { console.log("Cumulated stream output", result); });
Already emitted data is accessible at emittedData
property
Non-destructive way
Sepearate promise (without touching stream object) can be created with to-promise
util:
const streamToPromise = require("stream-promise/to-promise");
const someReadableStreamPromise = streamPromiseTo(someReadableStream);
someReadableStreamPromise.then(result => { console.log("Concatenated stream output", result); });
Supported options
noCollect boolean
(default: false
)
Applicable to readable streams. Set to true, if it's not intended to gather stream result and resolve with it.
Then the only purpose of promise would be to indicate a moment when data stream is finalized
Tests
npm test