Hook and modify stdout and stderr
import assert from 'node:assert'; import {hookStdout} from 'hook-std'; const promise = hookStdout(output => { promise.unhook(); assert.strictEqual(output.trim(), 'unicorn'); }); console.log('unicorn'); await promise;
You can also unhook using the second transform
method parameter:
import assert from 'node:assert'; import {hookStdout} from 'hook-std'; const promise = hookStdout((output, unhook) => { unhook(); assert.strictEqual(output.trim(), 'unicorn'); }); console.log('unicorn'); await promise;hookStd(options?, transform)
Hook streams in streams
option, or stdout and stderr if none are specified.
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, unhooks stdout and resolves the Promise
with an empty result.
Hook stderr.
Returns a Promise
with a unhook()
method which, when called, unhooks stderr and resolves the Promise
with an empty result.
Type: object
Type: boolean
Default: true
Suppress stdout/stderr output.
Type: boolean
Default: false
Automatically unhook after the first call.
Type: stream.Writable[]
Default: [process.stdout, process.stderr]
The writable streams to hook. This can be useful for libraries allowing users to configure a writable stream to write to.
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(…)
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4