Package Exports
- hook-std
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hook-std) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
hook-std 
Hook and modify stdout and stderr
Install
$ npm install hook-std
Usage
const assert = require('assert');
const hookStd = require('hook-std');
(async () => {
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:
(async () => {
const promise = hookStd.stdout((output, unhook) => {
unhook();
assert.strictEqual(output.trim(), 'unicorn');
});
console.log('unicorn');
await promise;
})();
API
hookStd([options], transform)
Hook streams in streams option, by default 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.
hookStd.stdout([options], transform)
Hook stdout.
Returns a Promise
with a unhook()
method which, when called, resolves the Promise
with an empty result.
hookStd.stderr([options], transform)
Hook stderr.
Returns a Promise
with a unhook()
method which, when called, resolves the Promise
with an empty result.
options
Type: Object
silent
Type: boolean
Default: true
Suppress stdout/stderr output.
once
Type: boolean
Default: false
Automatically unhooks after the first call.
streams
Type: stream.Writable[]
Default: [process.stdout, process.stderr]
Writable streams to hook. This can be useful for libraries allowing users to configure a Writable Stream to write to.
transform
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(...)
.
License
MIT © Sindre Sorhus