Переменная Deno.stdin
Ссылка на stdin, которая может быть использована для прямого чтения из stdin.
Она реализует специфичные для Deno интерфейсы Reader, ReaderSync и Closer, а также предоставляет интерфейс ReadableStream.
Чтение фрагментов из потока чтения
const decoder = new TextDecoder();
for await (const chunk of Deno.stdin.readable) {
const text = decoder.decode(chunk);
// do something with the text
}
Свойства
readable: ReadableStream<Uint8Array> Интерфейс потока чтения для stdin.
Методы
read(p: Uint8Array): Promise<number | null> Чтение входящих данных из stdin в буфер массива (p).
Возвращает количество прочитанных байтов во время операции или EOF (null) в случае отсутствия данных для чтения.
Возможен успешный возврат с 0 байтами. Это не означает EOF.
Не гарантируется, что весь буфер будет прочитан за один вызов.
// If the text "hello world" is piped into the script:
const buf = new Uint8Array(100);
const numberOfBytesRead = await Deno.stdin.read(buf); // 11 bytes
const text = new TextDecoder().decode(buf); // "hello world"
readSync(p: Uint8Array): number | null Синхронное чтение входящих данных из stdin в буфер массива (p).
Возвращает количество прочитанных байтов во время операции или EOF (null) в случае отсутствия данных для чтения.
Возможен успешный возврат с 0 байтами. Это не означает EOF.
Не гарантируется, что весь буфер будет прочитан за один вызов.
// If the text "hello world" is piped into the script:
const buf = new Uint8Array(100);
const numberOfBytesRead = Deno.stdin.readSync(buf); // 11 bytes
const text = new TextDecoder().decode(buf); // "hello world"
close(): void Закрывает stdin, освобождая ресурс.
Deno.stdin.close();
setRaw(mode: boolean,options?: SetRawOptions,): void Устанавливает режим TTY в сырой или обычный. В сыром режиме символы читаются и возвращаются как есть, без обработки. Вся специальная обработка символов терминалом отключена, включая отображение символов ввода. Чтение с устройства TTY в сыром режиме быстрее, чем чтение с устройства TTY в каноническом режиме.
Deno.stdin.setRaw(true, { cbreak: true });
isTerminal(): boolean Проверяет, является ли stdin устройством TTY (терминалом).
// This example is system and context specific
Deno.stdin.isTerminal(); // true
© 2018–2024 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/deno/~/Deno.stdin