Hook and modify stdout and stderr
$ npm install hook-std
const assert = require('assert');
const hookStd = require('hook-std');
const promise = hookStd.stdout(output => {
promise.unhook();
assert.strictEqual(output.trim(), 'unicorn');
});
console.log('unicorn');
await promise;
You can also unhook using the second transform
method parameter:
const promise = hookStd.stdout((output, unhook) => {
unhook();
assert.strictEqual(output.trim(), 'unicorn');
});
console.log('unicorn');
await promise;
Hook stdout and stderr.
Returns a Promise
with a unhook()
method which, when called, unhooks both stdout and stderr and resolves the Promise
with an empty result.
Hook stdout.
Returns a Promise
with a unhook()
method which, when called, resolves the Promise
with an empty result.
Hook stderr.
Returns a Promise
with a unhook()
method which, when called, resolves the Promise
with an empty result.
Type: boolean
Default: true
Suppress stdout/stderr output.
Type: boolean
Default: false
Automatically unhooks after the first call.
Type: Function
Receives stdout/stderr as the first argument and the unhook method as the second argument. Return a string to modify it. Optionally, when in silent mode, you may return a boolean
to influence the return value of .write(...)
.
MIT © Sindre Sorhus