hook-writable-stream

0.1.0 • Public • Published

NPM version Build Status Dependency Status Coverage Status

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

Package Sidebar

Install

npm i hook-writable-stream

Weekly Downloads

4

Version

0.1.0

License

MIT

Last publish

Collaborators

  • stevemao