get-stdin-with-tty v6.0.0
get-stdin-with-tty
Get stdin as a string or buffer
Install
$ npm install get-stdin-with-ttyUsage
// example.js
const getStdin = require('get-stdin-with-tty');
(async () => {
console.log(await getStdin());
})();$ echo unicorns | node example.js
unicornsAPI
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.
getStdin(options) ← Promise<String>
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.
getStdin.buffer() ← Promise<Buffer>
Get stdin as a Buffer.
In a TTY context, a promise that resolves to an empty Buffer is returned.
Options / Settings
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```bash (win) c:\> node example.js foobar ^z # => foobar ``` ```bash $ node example.js foobar^d^d # => foobar ```
Moos Fork
The moos fork includes support for reading stdin from TTY by default.
Related
- get-stream - Get a stream as a string or buffer
Change log
- 6.0.0 -
ttyoption is now defaulted totrue. Double Ctrl-d in middle of line also ends stream. - 5.0.2 - Initial fork.
License
MIT © Sindre Sorhus © Moos