REPLServer

external class REPLServer : _Interface(source)

Instances of repl.REPLServer are created using the {@link start} method or directly using the JavaScript new keyword.

const repl = require('node:repl');

const options = { useColors: true };

const firstInstance = repl.start(options);
const secondInstance = new repl.REPLServer(options);

Since

v0.1.91

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
open override val closeEvent: EventInstance<JsTuple>
Link copied to clipboard

The commands registered via replServer.defineCommand().

Link copied to clipboard

Specified in the REPL options, this is the function to use for custom Tab auto-completion.

Link copied to clipboard

The vm.Context provided to the eval function to be used for JavaScript evaluation.

Link copied to clipboard

The cursor position relative to rl.line.

Link copied to clipboard

A value indicating whether the REPL is currently in "editor mode".

Link copied to clipboard

Specified in the REPL options, this is the function to be used when evaluating each given line of input. If not specified in the REPL options, this is an async wrapper for the JavaScript eval() function.

Link copied to clipboard
Link copied to clipboard

Specified in the REPL options, this is a value indicating whether the default writer function should output the result of a command if it evaluates to undefined.

Link copied to clipboard

The Readable stream from which REPL input will be read.

Link copied to clipboard
Link copied to clipboard
val last: Any?

The last evaluation result from the REPL (assigned to the _ variable inside of the REPL).

Link copied to clipboard

The last error raised inside the REPL (assigned to the _error variable inside of the REPL).

Link copied to clipboard

The current input data being processed by node.

Link copied to clipboard
open override val lineEvent: EventInstance<JsTuple1<String>>
Link copied to clipboard

The Writable stream to which REPL output will be written.

Link copied to clipboard
Link copied to clipboard
open override val pauseEvent: EventInstance<JsTuple>
Link copied to clipboard

Specified in the REPL options, this is a flag that specifies whether the default eval function should execute all JavaScript commands in strict mode or default (sloppy) mode. Possible values are:

Link copied to clipboard
Link copied to clipboard
open override val resumeEvent: EventInstance<JsTuple>
Link copied to clipboard
open override val SIGCONTEvent: EventInstance<JsTuple>
Link copied to clipboard
open override val SIGINTEvent: EventInstance<JsTuple>
Link copied to clipboard
open override val SIGTSTPEvent: EventInstance<JsTuple>
Link copied to clipboard
Link copied to clipboard

A value indicating whether the _ variable has been assigned.

Link copied to clipboard

A value indicating whether the _error variable has been assigned.

Link copied to clipboard

Specified in the REPL options, this is a value indicating whether the default writer function should include ANSI color styling to REPL output.

Link copied to clipboard

Specified in the REPL options, this is a value indicating whether the default eval function will use the JavaScript global as the context as opposed to creating a new separate context for the REPL instance.

Link copied to clipboard

Specified in the REPL options, this is the function to invoke to format the output of each command before writing to outputStream. If not specified in the REPL options, this will be a wrapper for util.inspect.

Functions

Link copied to clipboard
fun addListener(type: EventType, listener: EventListener)

Alias for emitter.on(eventName, listener).

open override fun addListener(event: String, listener: Function<Unit>)

events.EventEmitter

Link copied to clipboard

The replServer.clearBufferedCommand() method clears any command that has been buffered but not yet executed. This method is primarily intended to be called from within the action function for commands registered using the replServer.defineCommand() method.

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
fun defineCommand(keyword: String, cmd: REPLCommand)

The replServer.defineCommand() method is used to add new .\-prefixed commands to the REPL instance. Such commands are invoked by typing a . followed by the keyword. The cmd is either a Function or an Object with the following properties:

Link copied to clipboard
fun displayPrompt(preserveCursor: Boolean = definedExternally)

The replServer.displayPrompt() method readies the REPL instance for input from the user, printing the configured prompt to a new line in the output and resuming the input to accept new input.

Link copied to clipboard
fun emit(type: EventType, vararg args: Any?): Boolean

Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

open override fun emit(event: Symbol, vararg args: Any?): Boolean
open override fun emit(event: String, vararg args: Any?): 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
fun listenerCount(type: EventType, listener: EventListener = definedExternally): Double

Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

Link copied to clipboard

Returns a copy of the array of listeners for the event named eventName.

Link copied to clipboard
fun off(type: EventType, listener: EventListener)

Alias for emitter.removeListener().

Link copied to clipboard
fun on(type: EventType, listener: EventListener)

Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

open override fun on(event: String, listener: Function<Unit>)
Link copied to clipboard
fun once(type: EventType, listener: EventListener)

Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

open override fun once(event: String, listener: Function<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

Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

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

Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

open override fun prependOnceListener(event: String, listener: Function<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
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.

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

Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

Link copied to clipboard
fun removeAllListeners(type: EventType = definedExternally)

Removes all listeners, or those of the specified eventName.

Link copied to clipboard
fun removeListener(type: EventType, listener: EventListener)

Removes the specified listener from the listener array for the event named eventName.

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 setupHistory(path: String, callback: (JsError?, repl: Unit) -> Unit)

Initializes a history log file for the REPL instance. When executing the Node.js binary and using the command-line REPL, a history file is initialized by default. However, this is not the case when creating a REPL programmatically. Use this method to initialize a history log file when working with REPL instances programmatically.

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)