get-stdin-with-tty
TypeScript icon, indicating that this package has built-in type declarations

6.0.0 • Public • Published

get-stdin-with-tty

NPM version Build Status

Get stdin as a string or buffer

Install

$ npm install get-stdin-with-tty

Usage

// example.js
const getStdin = require('get-stdin-with-tty');
 
(async () => {
    console.log(await getStdin());
})();
$ echo unicorns | node example.js
unicorns

API

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
    (win) c:\> node example.js
    foobar
    ^z
    # => foobar 
    $ node example.js
    foobar^d^d
    # => foobar 

Moos Fork

The moos fork includes support for reading stdin from TTY by default.

Related

Change log

  • 6.0.0 - tty option is now defaulted to true. Double Ctrl-d in middle of line also ends stream.
  • 5.0.2 - Initial fork.

License

MIT © Sindre Sorhus © Moos

Package Sidebar

Install

npm i get-stdin-with-tty

Weekly Downloads

3,078

Version

6.0.0

License

MIT

Unpacked Size

7.95 kB

Total Files

5

Last publish

Collaborators

  • moos