The tty
module houses the tty.ReadStream
and tty.WriteStream
classes. In most cases, you will not need to use this module directly.
When Node.js detects that it is being run inside a TTY context, then process.stdin
will be a tty.ReadStream
instance and process.stdout
will be a tty.WriteStream
instance. The preferred way to check if Node.js is being run in a TTY context is to check process.stdout.isTTY
:
$ node -p -e "Boolean(process.stdout.isTTY)" true $ node -p -e "Boolean(process.stdout.isTTY)" | cat false
A net.Socket
subclass that represents the readable portion of a tty. In normal circumstances, process.stdin
will be the only tty.ReadStream
instance in any Node.js program (only when isatty(0)
is true).
A Boolean
that is initialized to false
. It represents the current "raw" state of the tty.ReadStream
instance.
mode
should be true
or false
. This sets the properties of the tty.ReadStream
to act either as a raw device or default. isRaw
will be set to the resulting mode.
A net.Socket
subclass that represents the writable portion of a tty. In normal circumstances, process.stdout
will be the only tty.WriteStream
instance ever created (and only when isatty(1)
is true).
function () {}
Emitted by refreshSize()
when either of the columns
or rows
properties has changed.
process.stdout.on('resize', () => { console.log('screen size has changed!'); console.log(`${process.stdout.columns}x${process.stdout.rows}`); });
A Number
that gives the number of columns the TTY currently has. This property gets updated on 'resize'
events.
A Number
that gives the number of rows the TTY currently has. This property gets updated on 'resize'
events.
Returns true
or false
depending on if the fd
is associated with a terminal.
© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v4.x/docs/api/tty.html