Skip to main content
createInterface - readline - Node documentation
function createInterface

Usage in Deno

import { createInterface } from "node:readline";
createInterface(
input: ReadableStream,
output?: WritableStream,
completer?: Completer | AsyncCompleter,
terminal?: boolean,
): Interface

The readline.createInterface() method creates a new readline.Interface instance.

import readline from 'node:readline';
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

Once the readline.Interface instance is created, the most common case is to listen for the 'line' event:

rl.on('line', (line) => {
  console.log(`Received: ${line}`);
});

If terminal is true for this instance then the output stream will get the best compatibility if it defines an output.columns property and emits a 'resize' event on the output if or when the columns ever change (process.stdout does this automatically when it is a TTY).

When creating a readline.Interface using stdin as input, the program will not terminate until it receives an EOF character. To exit without waiting for user input, call process.stdin.unref().

Parameters

input: ReadableStream
optional
output: WritableStream
optional
completer: Completer | AsyncCompleter
optional
terminal: boolean

Return Type

createInterface(options: ReadLineOptions): Interface

Parameters

Return Type

Back to top