Get stdin as a string or buffer
$ npm install get-stdin-with-tty
// example.js
const getStdin = require('get-stdin-with-tty');
(async () => {
console.log(await getStdin());
})();
$ echo unicorns | node example.js
unicorns
Both methods returns a promise that is resolved when the end
event fires on the stdin
stream, indicating that there is no more data to be read.
Get stdin
as a string
.
In a TTY context, a promise that resolves to an empty string is returned, unless options.tty
or getStdin.tty
is true.
Get stdin
as a Buffer
.
In a TTY context, a promise that resolves to an empty Buffer
is returned.
-
tty
|getStdin.tty
(Boolean) - Set global TTY handling. When true, accepts input from TTY until a new line beginning with Ctrl-d or Ctrl-z is entered. Double Ctrl-d anywhere in the line also ends the stream. (Default =true
)When enabled for the example above:
$ node example.js foobar barfoo ^d // => foobar barfoo
-
EOF
|getStdin.EOF
(String) - The end-of-file (aka EOT) character to use to signal end of stream. Defaults to Ctrl-d on *nix and cygwin, and Ctrl-z on Windows. Acceptable values:getStdin.CTRL_D
- Ctrl-d (ASCII 04)getStdin.CTRL_Z
- Ctrl-z (ASCII 26)'*'
- Use both Ctrl-d and Ctrl-z
(win) c:\> node example.js foobar ^z # => foobar
$ node example.js foobar^d^d # => foobar
The moos fork includes support for reading stdin from TTY by default.
- get-stream - Get a stream as a string or buffer
- 6.0.0 -
tty
option is now defaulted totrue
. Double Ctrl-d in middle of line also ends stream. - 5.0.2 - Initial fork.
MIT © Sindre Sorhus © Moos