Streamify helps you easily provide a streaming interface for your code.
var streamify = require('streamify');
var request = require('request');
exports.doSomething = function doSomething() {
var stream = streamify();
request(url1, function(err, res, body) {
// do something with `body`
// once the actual stream you want to return is ready,
// call `stream.resolve()`
stream.resolve(request(url2));
});
// your function can return back a stream!!
return stream;
}
// because `doSomething()` returns a stream, it can be piped
exports.doSomething().pipe(anotherStream);
Returns an instance of a stream. options
can be
superCtor
- The object from which it inherits. Defaults torequire('stream').Stream
. Sometimes you may want to use this if your stream might be checked with theinstanceof
operator against objects such ashttp.ServerResponse
.readable
- Defaults totrue
.writable
- Defaults totrue
.
Must be called only once when the actual stream you are proxying to becomes available after an asynchronous operation.
Can be used to unbind a a resolved stream to later call resolve()
again.
Add a source readable stream.
Remove previously added source stream.
Add a destination writable stream.
Remove a previously added destination stream.
npm install streamify
Tests are written with mocha
npm test
MIT