0.1.0 • Published 9 years ago
hook-writable-stream v0.1.0
Hooking into Node.js writable stream
Based on this gist. Useful when you need to test Node writable streams such as stdout.
Install
$ npm install --save-dev hook-writable-stream
Usage
Use a callback
var hookWritableStream = require('hook-writable-stream');
var hook = hookWritableStream(process.stdout, false, function(string) {
//=> string === 'hooked!\n'
});
console.log('hooked!');
hook.unhook();
console.log('unhooked!');
//=> 'unhooked!' is shown on your console
Use as a stream
var hookWritableStream = require('hook-writable-stream');
var through = require('through2');
var hook = hookWritableStream(process.stdout, false);
var stream = hook.stream;
stream.pipe(through(function(chunk, enc, cb) {
//=> chunk.toString() === 'hooked!\n'
cb(chunk);
}));
console.log('hooked!');
hook.unhook();
console.log('unhooked!');
//=> 'unhooked!' is shown on your console
API
hookWritableStream(writableStream, keepOriginal, callback)
Returns an object.
unhook
Type: function
Call to unhook the writable stream.
stream
A stream that you can consume. The data that was going to written to the original stream is written to this stream.
writableStream
A node writable stream such as process.stdout
.
keepOriginal
true
to keep writing to the original stream.
callback(obj)
obj
Whatever is written to the original stream.
License
MIT © Steve Mao