Spec-Zone.ru › Node.js 8 LTS

TTY

Стабильность: 2 - Стабильно

Модуль tty предоставляет классы tty.ReadStream и tty.WriteStream. В большинстве случаев использование этого модуля напрямую не требуется или невозможно. Однако к нему можно получить доступ с помощью:

const tty = require('tty');

Когда Node.js обнаруживает, что выполняется с подключенным текстовым терминалом ("TTY"), process.stdin по умолчанию инициализируется как экземпляр tty.ReadStream, а process.stdout и process.stderr по умолчанию являются экземплярами tty.WriteStream. Предпочтительный способ определения того, выполняется ли Node.js в контексте TTY, — это проверка значения свойства process.stdout.isTTY на соответствие значению true:

$ node -p -e "Boolean(process.stdout.isTTY)"
true
$ node -p -e "Boolean(process.stdout.isTTY)" | cat
false

В большинстве случаев у приложения практически нет причин для ручного создания экземпляров классов tty.ReadStream и tty.WriteStream.

Класс: tty.ReadStream

Добавлен в: v0.5.8

Класс tty.ReadStream — это подкласс net.Socket, представляющий читаемую сторону TTY. В обычных условиях process.stdin будет единственным экземпляром tty.ReadStream в процессе Node.js, и нет причин создавать дополнительные экземпляры.

readStream.isRaw

Добавлен в: v0.7.7

Значение типа boolean, равное true в случае, если TTY в настоящее время настроен как сырое устройство. По умолчанию равно false.

readStream.isTTY

Добавлен в: v0.5.8

Значение типа boolean, всегда равное true для экземпляров tty.ReadStream.

readStream.setRawMode(mode)

Добавлен в: v0.7.7

Позволяет настроить tty.ReadStream таким образом, чтобы он работал как сырое устройство.

В режиме raw входные данные всегда доступны посимвольно, без модификаторов. Кроме того, все специальная обработка символов терминалом отключена, включая вывод введенных символов. Обратите внимание, что CTRL+C больше не вызовет SIGINT в этом режиме.

  • mode <логическое значение> Если true, настраивает tty.ReadStream для работы как сырое устройство. Если false, настраивает tty.ReadStream на работу в стандартном режиме. Свойство readStream.isRaw будет установлено в полученный режим.

Класс: tty.WriteStream

Добавлен в: v0.5.8

Класс tty.WriteStream — это подкласс net.Socket, представляющий записываемую сторону TTY. В обычных условиях process.stdout и process.stderr будут единственными экземплярами tty.WriteStream класса, созданными для процесса Node.js, и нет причин создавать дополнительные экземпляры.

Событие: 'resize'

Добавлен в: v0.7.7

Событие 'resize' генерируется всякий раз, когда изменяются свойства writeStream.columns или writeStream.rows. При вызове обработчик события не получает аргументов.

process.stdout.on('resize', () => {
  console.log('screen size has changed!');
  console.log(`${process.stdout.columns}x${process.stdout.rows}`);
});

writeStream.columns

Добавлен в: v0.7.7

Значение типа number, задающее количество столбцов в текущем TTY. Это свойство обновляется каждый раз при срабатывании события 'resize'.

writeStream.isTTY

Добавлен в: v0.5.8

Значение типа boolean, всегда равное true.

writeStream.rows

Добавлен в: v0.7.7

Значение типа number, задающее количество строк в текущем TTY. Это свойство обновляется каждый раз при срабатывании события 'resize'.

tty.isatty(fd)

Добавлен в: v0.5.8
  • fd <число> Числовой дескриптор файла

Метод tty.isatty() возвращает true если указанный fd связан с TTY и false в противном случае, включая случаи, когда fd не является неотрицательным целым числом.

© 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-v8.x/docs/api/tty.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API