Interface

external class Interface : _Interface(source)

Instances of the readlinePromises.Interface class are constructed using the readlinePromises.createInterface() method. Every instance is associated with a single input Readable stream and a single output Writable stream. The output stream is used to print prompts for user input that arrives on, and is read from, the input stream.

Since

v17.0.0

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

The cursor position relative to rl.line.

Link copied to clipboard

The current input data being processed by node.

Link copied to clipboard

Functions

Link copied to clipboard
open fun addListener(event: String, listener: Function<Unit>)

events.EventEmitter

fun addListener(event: InterfaceEvent.CLOSE, listener: () -> Unit)
fun addListener(event: InterfaceEvent.LINE, listener: (input: String) -> Unit)
fun addListener(event: InterfaceEvent.PAUSE, listener: () -> Unit)
fun addListener(event: InterfaceEvent.RESUME, listener: () -> Unit)
fun addListener(event: InterfaceEvent.SIGCONT, listener: () -> Unit)
fun addListener(event: InterfaceEvent.SIGINT, listener: () -> Unit)
fun addListener(event: InterfaceEvent.SIGTSTP, listener: () -> Unit)
Link copied to clipboard
fun close()

The rl.close() method closes the Interface instance and relinquishes control over the input and output streams. When called, the 'close' event will be emitted.

Link copied to clipboard
open fun emit(event: Symbol, vararg args: Any?): Boolean
open fun emit(event: String, vararg args: Any?): Boolean
fun emit(event: InterfaceEvent.LINE, input: String): Boolean
Link copied to clipboard

Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

Link copied to clipboard

Returns the real position of the cursor in relation to the input prompt + string. Long input (wrapping) strings, as well as multiple line prompts are included in the calculations.

Link copied to clipboard

Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to {@link defaultMaxListeners}.

Link copied to clipboard

The rl.getPrompt() method returns the current prompt used by rl.prompt().

Link copied to clipboard
open fun on(event: String, listener: Function<Unit>)
fun on(event: InterfaceEvent.CLOSE, listener: () -> Unit)
fun on(event: InterfaceEvent.HISTORY, listener: (ReadonlyArray<String>) -> Unit)
fun on(event: InterfaceEvent.LINE, listener: (input: String) -> Unit)
fun on(event: InterfaceEvent.PAUSE, listener: () -> Unit)
fun on(event: InterfaceEvent.RESUME, listener: () -> Unit)
fun on(event: InterfaceEvent.SIGCONT, listener: () -> Unit)
fun on(event: InterfaceEvent.SIGINT, listener: () -> Unit)
fun on(event: InterfaceEvent.SIGTSTP, listener: () -> Unit)
Link copied to clipboard
open fun once(event: String, listener: Function<Unit>)
fun once(event: InterfaceEvent.CLOSE, listener: () -> Unit)
fun once(event: InterfaceEvent.HISTORY, listener: (ReadonlyArray<String>) -> Unit)
fun once(event: InterfaceEvent.LINE, listener: (input: String) -> Unit)
fun once(event: InterfaceEvent.PAUSE, listener: () -> Unit)
fun once(event: InterfaceEvent.RESUME, listener: () -> Unit)
fun once(event: InterfaceEvent.SIGCONT, listener: () -> Unit)
fun once(event: InterfaceEvent.SIGINT, listener: () -> Unit)
fun once(event: InterfaceEvent.SIGTSTP, listener: () -> Unit)
Link copied to clipboard
fun pause()

The rl.pause() method pauses the input stream, allowing it to be resumed later if necessary.

Link copied to clipboard
open fun prependListener(event: String, listener: Function<Unit>)
fun prependListener(event: InterfaceEvent.CLOSE, listener: () -> Unit)
fun prependListener(event: InterfaceEvent.LINE, listener: (input: String) -> Unit)
fun prependListener(event: InterfaceEvent.PAUSE, listener: () -> Unit)
fun prependListener(event: InterfaceEvent.RESUME, listener: () -> Unit)
fun prependListener(event: InterfaceEvent.SIGCONT, listener: () -> Unit)
fun prependListener(event: InterfaceEvent.SIGINT, listener: () -> Unit)
fun prependListener(event: InterfaceEvent.SIGTSTP, listener: () -> Unit)
Link copied to clipboard
open fun prependOnceListener(event: String, listener: Function<Unit>)
fun prependOnceListener(event: InterfaceEvent.CLOSE, listener: () -> Unit)
fun prependOnceListener(event: InterfaceEvent.LINE, listener: (input: String) -> Unit)
fun prependOnceListener(event: InterfaceEvent.PAUSE, listener: () -> Unit)
fun prependOnceListener(event: InterfaceEvent.RESUME, listener: () -> Unit)
fun prependOnceListener(event: InterfaceEvent.SIGCONT, listener: () -> Unit)
fun prependOnceListener(event: InterfaceEvent.SIGINT, listener: () -> Unit)
fun prependOnceListener(event: InterfaceEvent.SIGTSTP, listener: () -> Unit)
Link copied to clipboard
fun prompt(preserveCursor: Boolean = definedExternally)

The rl.prompt() method writes the Interface instances configuredprompt to a new line in output in order to provide a user with a new location at which to provide input.

Link copied to clipboard
suspend fun question(query: String): String
suspend fun question(query: String, options: Abortable): String
fun question(query: String, options: Abortable, callback: (answer: String) -> Unit)

fun question(query: String, callback: (answer: String) -> Unit)

The rl.question() method displays the query by writing it to the output, waits for user input to be provided on input, then invokes the callback function passing the provided input as the first argument.

Link copied to clipboard

The rl.question() method displays the query by writing it to the output, waits for user input to be provided on input, then invokes the callback function passing the provided input as the first argument.

fun questionAsync(query: String, options: Abortable): Promise<String>
Link copied to clipboard
fun resume()

The rl.resume() method resumes the input stream if it has been paused.

Link copied to clipboard

By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

Link copied to clipboard
fun setPrompt(prompt: String)

The rl.setPrompt() method sets the prompt that will be written to output whenever rl.prompt() is called.

Link copied to clipboard
fun write(data: String, key: Key = definedExternally)
fun write(data: Buffer, key: Key = definedExternally)

The rl.write() method will write either data or a key sequence identified by key to the output. The key argument is supported only if output is a TTY text terminal. See TTY keybindings for a list of key combinations.

fun write(data: String?, key: Key)
fun write(data: Buffer?, key: Key)