Skip to main content
Go to Latest
function createInterface
import { createInterface } from "";

The readline.createInterface() method creates a new readline.Interfaceinstance.

const readline = require('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 EOF (Ctrl+D on Linux/macOS, Ctrl+Z followed by Return on Windows). If you want your application to exit without waiting for user input, you can unref() the standard input stream:



output: WritableStream
completer: Completer | AsyncCompleter
terminal: boolean


options: ReadLineOptions