crackyourinterview.com


To improves our performance please Like Share Subscribe(Will boost us)

Node.js TTY
Question Posted on 21 Apr 2024Home >> Tutorial >> Node.js Tutorial >> Node.js TTY

Node.js TTY

Node.js TTY


When we say about the Node.js TTY, this module contains TTY.ReadStream and TTY.WriteStream classes. And when we say about the most cases, there is no need to use this module directly.

And you have to use require('tty') to access this module.

Syntax:-

var tty = require('tty');


When Node.js discovers that it is being run inside a TTY context, then:

  • Well process.stdin will be a tty.ReadStream instance

  • Well process.stdout will be a tty.WriteStream instance



And to check that if Node.js is running in a TTY context, we use the following command:

node -p -e "Boolean(process.stdout.isTTY)"



Node.js TTY

Class: ReadStream


This will contains a net.Socket subclass which represents the readable portion of a tty. And when we say about the normal circumstances, tt.ReadStream has the only instance named process.stdin in any Node.js program (only when isatty(0) is true).

rs.isRawThis is a Boolean which is initialized to false. This will specifies the current "raw" state of the tty.ReadStream instance.

rs.setRawMode(mode):This is true or false. And it is used to set the properties of the tty.ReadStream to act either as a raw device or default. isRaw will be set to the resulting mode.


Class: WriteStream


This will contains a net.Socket subclass which will represents the writable portion of a tty. And in normal circumstances, tty.WriteStream has the only instance named process.stdout in any of Node.js program (only when isatty(1) is true).

Resize event:This event is used when either of the columns or rows properties has changed.

Syntax:


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


ws.columns:This is used to give the number of columns TTY currently have. ANd this property gets updated on 'resize' events.

ws.rows:This is used to give the number of rows the TTY currently have. And this property gets updated on 'resize' events.

Node.js TTY Example


File: tty.js


var tty = require('tty');
process.stdin.setRawMode(true);
process.stdin.resume();
console.log('Test for TTY:- How are you');
process.stdin.on('keypress', function(char, key) {
if (key && key.ctrl && key.name == 'c') {

process.exit()
}
});


Output:


Node.js TTY Sample
0
0



.


Most Visited Questions:-

Deep Learning Questions Answers
Below are the different Deep Leaning Questions and answer a More...

Continuous Integration Questions Answers
Below are the 20 odd questions for CI or Continuous Integra More...

Derived relationships in Association Rule Mining are represented in the form of __________.
Derived relationships in Association Rule Mining are repres More...

What is Gulpjs and some multiple choice questions on Gulp
Gulpjs is an open source whihc helps in building Javascript More...

Microservices Architecture Questions Answers
Below are the different questions on Microservices Architec More...




Other Important Questions

Parts of Node.js

Install Node.js Linux

Node.js First Example

Node.js Globals

Node.js DNS






@2014-2022 Crackyourinterview (All rights reserved)
Privacy Policy - Disclaimer - Sitemap