stdout-monkey
v1.1.0
Published
who said bananas? was it you?
Downloads
33
Readme
stdout-monkey
Monkeypatch for stdout with knobs. For testing purposes, or other things.
install
npm install stdout-monkeyexample
var stdout = require('stdout-monkey');
var monkey = stdout(function(str, enc, cb){
this.log('I want more bananas!');
})
console.log('Hey, stop it!');
// -> I want more bananas!why
You don't want to spam stdout for testing. You want to batch data or you want to transform data before it reaches stdout.
api
Below when I write stdout I really want to write process.stdout.write.
var monkey = require('stdout-monkey')([callback])Calling the module with a function returns a monkeypatched stdout disabled by default. Instead the arguments are passed to the given callback.
Note: that is not really accurate since the object is not a writable stream.
monkey.patch([callback])
Default method returned from the module. Patch stdout and disable it. Use the given callback instead.
Returns the monkey instance.
monkey.restore([data], [enc], [cb])
Restore stdout. Optionaly write something.
monkey.listen([callback])
Patch stdout but only to include the callback. stdout will work as normal, you can spy but not modify what is written.
monkey.write(data, [enc], [cb])
Use the original process.stdout.write even if it was patched.
monkey.log([arguments])
Use console.log even if stdout was patched.
All above methods are chainable.
properties
The monkey has a state property indicating if process.stdout.write was patched or if he used the restore or listen methods.
NOTE: the state is not changed when calling the log or write methods.
test
npm testinspirated and based on
todo
- [ ] make the
monkeyathroughstream.
