Node.js v21.7.2 ドキュメント
- Node.js v21.7.2
-
► 目次
- TTY
- クラス:
tty.ReadStream
- クラス:
tty.WriteStream
- イベント:
'resize'
writeStream.clearLine(dir[, callback])
writeStream.clearScreenDown([callback])
writeStream.columns
writeStream.cursorTo(x[, y][, callback])
writeStream.getColorDepth([env])
writeStream.getWindowSize()
writeStream.hasColors([count][, env])
writeStream.isTTY
writeStream.moveCursor(dx, dy[, callback])
writeStream.rows
- イベント:
tty.isatty(fd)
- クラス:
- TTY
-
► インデックス
- アサーションテスト
- 非同期コンテキスト追跡
- 非同期フック
- バッファ
- C++ アドオン
- Node-API を使用した C/C++ アドオン
- C++ 埋め込み API
- 子プロセス
- クラスタ
- コマンドラインオプション
- コンソール
- Corepack
- 暗号
- デバッガ
- 非推奨の API
- 診断チャネル
- DNS
- ドメイン
- エラー
- イベント
- ファイルシステム
- グローバル
- HTTP
- HTTP/2
- HTTPS
- インスペクタ
- 国際化
- モジュール: CommonJS モジュール
- モジュール: ECMAScript モジュール
- モジュール:
node:module
API - モジュール: パッケージ
- Net
- OS
- パス
- パフォーマンスフック
- 権限
- プロセス
- Punycode
- クエリ文字列
- Readline
- REPL
- レポート
- 単一実行ファイルアプリケーション
- ストリーム
- 文字列デコーダー
- テストランナー
- タイマー
- TLS/SSL
- トレースイベント
- TTY
- UDP/データグラム
- URL
- ユーティリティ
- V8
- VM
- WASI
- Web Crypto API
- Web Streams API
- ワーカースレッド
- Zlib
- ► 他のバージョン
- ► オプション
TTY#
ソースコード: lib/tty.js
node:tty
モジュールは、tty.ReadStream
クラスと tty.WriteStream
クラスを提供します。ほとんどの場合、このモジュールを直接使用することは必要ありませんし、不可能です。ただし、以下を使用してアクセスできます。
const tty = require('node: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
#
- 拡張: <net.Socket>
TTY の読み取り側を表します。通常の状況では、process.stdin
は Node.js プロセスで唯一の tty.ReadStream
インスタンスとなり、追加のインスタンスを作成する理由はありません。
readStream.isRaw
#
TTY が現在 raw デバイスとして動作するように設定されている場合は true
である boolean
値です。
端末が raw モードで動作している場合でも、プロセスが開始されると、このフラグは常に false
になります。その値は、後続の `setRawMode` の呼び出しによって変更されます。
readStream.isTTY
#
tty.ReadStream
インスタンスの場合は常に true
である boolean
値です。
readStream.setRawMode(mode)
#
mode
<boolean>true
の場合、tty.ReadStream
を raw デバイスとして動作するように設定します。false
の場合、tty.ReadStream
をデフォルトモードで動作するように設定します。readStream.isRaw
プロパティは、結果のモードに設定されます。- 戻り値: <this> 読み取りストリームインスタンス。
tty.ReadStream
が raw デバイスとして動作するように設定できます。
raw モードでは、入力は常に文字単位で利用でき、修飾子は含まれません。さらに、端末による文字のすべての特殊処理(入力文字のエコーなど)は無効になります。 Ctrl+C は、このモードでは SIGINT
を発生させなくなります。
クラス: tty.WriteStream
#
- 拡張: <net.Socket>
TTY の書き込み側を表します。通常の状況では、process.stdout
と process.stderr
は Node.js プロセスに対して作成される唯一の tty.WriteStream
インスタンスとなり、追加のインスタンスを作成する理由はありません。
イベント: 'resize'
#
'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.clearLine(dir[, callback])
#
dir
<number>-1
: カーソルから左方向1
: カーソルから右方向0
: 行全体
callback
<Function> 操作が完了すると呼び出されます。- 戻り値: <boolean> ストリームが呼び出し元のコードに追加データを書き込む前に
'drain'
イベントが発行されるのを待機する場合、false
。それ以外の場合はtrue
です。
writeStream.clearLine()
は、この WriteStream
の現在の行を、dir
で示される方向にクリアします。
writeStream.clearScreenDown([callback])
#
callback
<Function> 操作が完了すると呼び出されます。- 戻り値: <boolean> ストリームが呼び出し元のコードに追加データを書き込む前に
'drain'
イベントが発行されるのを待機する場合、false
。それ以外の場合はtrue
です。
writeStream.clearScreenDown()
は、現在のカーソルから下方向にこの WriteStream
をクリアします。
writeStream.columns
#
TTY が現在持っている列数を指定する number
です。このプロパティは、'resize'
イベントが発行されるたびに更新されます。
writeStream.cursorTo(x[, y][, callback])
#
x
<number>y
<number>callback
<Function> 操作が完了すると呼び出されます。- 戻り値: <boolean> ストリームが呼び出し元のコードに追加データを書き込む前に
'drain'
イベントが発行されるのを待機する場合、false
。それ以外の場合はtrue
です。
writeStream.cursorTo()
は、この WriteStream
のカーソルを指定された位置に移動します。
writeStream.getColorDepth([env])
#
戻り値
1
(2色対応)4
(16色対応)8
(256色対応)24
(16,777,216色対応)
端末がサポートする色を判断するために使用します。端末の色の性質上、偽陽性または偽陰性になる可能性があります。プロセス情報と、使用されている端末について嘘をついている可能性のある環境変数に依存します。env
オブジェクトを渡して、特定の端末の使用をシミュレートできます。これは、特定の環境設定の動作を確認するのに役立ちます。
特定のカラーサポートを強制するには、以下の環境設定のいずれかを使用します。
- 2色:
FORCE_COLOR = 0
(色を無効にする) - 16色:
FORCE_COLOR = 1
- 256色:
FORCE_COLOR = 2
- 16,777,216色:
FORCE_COLOR = 3
NO_COLOR
および NODE_DISABLE_COLORS
環境変数を使用して、カラーサポートを無効にすることもできます。
writeStream.getWindowSize()
#
- 戻り値: <number[]>
writeStream.getWindowSize()
は、この WriteStream
に対応する TTY のサイズを返します。配列の型は [numColumns, numRows]
で、numColumns
と numRows
は対応する TTY の列数と行数を表します。
writeStream.hasColors([count][, env])
#
count
<integer> 要求する色の数(最小値は2)。 デフォルト: 16.env
<Object> チェックする環境変数を格納したオブジェクト。これにより、特定の端末の使用をシミュレートできます。**デフォルト:**process.env
.- 戻り値: <boolean>
writeStream
が count
で指定された数以上の色をサポートしている場合、true
を返します。最小サポート数は2(白黒)です。
これは、writeStream.getColorDepth()
で説明されているのと同じ偽陽性と偽陰性を持ちます。
process.stdout.hasColors();
// Returns true or false depending on if `stdout` supports at least 16 colors.
process.stdout.hasColors(256);
// Returns true or false depending on if `stdout` supports at least 256 colors.
process.stdout.hasColors({ TMUX: '1' });
// Returns true.
process.stdout.hasColors(2 ** 24, { TMUX: '1' });
// Returns false (the environment setting pretends to support 2 ** 8 colors).
writeStream.isTTY
#
常に true
である boolean
値です。
writeStream.moveCursor(dx, dy[, callback])
#
dx
<number>dy
<number>callback
<Function> 操作が完了すると呼び出されます。- 戻り値: <boolean> ストリームが呼び出し元のコードに追加データを書き込む前に
'drain'
イベントが発行されるのを待機する場合、false
。それ以外の場合はtrue
です。
writeStream.moveCursor()
は、この WriteStream
のカーソルを現在の位置に対して*相対的に*移動します。
writeStream.rows
#
TTY が現在持つ行数を指定する number
です。このプロパティは、'resize'
イベントが発行されるたびに更新されます。
tty.isatty(fd)
#
tty.isatty()
メソッドは、指定された fd
が TTY に関連付けられている場合は true
を、そうでない場合は false
を返します。fd
が非負の整数でない場合も false
を返します。