REPLServer
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
Properties
The commands registered via replServer.defineCommand()
.
A value indicating whether the REPL is currently in "editor mode".
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
.
The Readable
stream from which REPL input will be read.
The Writable
stream to which REPL output will be written.
A value indicating whether the _
variable has been assigned.
A value indicating whether the _error
variable has been assigned.
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
Alias for emitter.on(eventName, listener)
.
events.EventEmitter
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.
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:
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.
Synchronously calls each of the listeners registered for the event named eventName
, in the order they were registered, passing the supplied arguments to each.
Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbol
s.
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.
Returns the current max listener value for the EventEmitter
which is either set by emitter.setMaxListeners(n)
or defaults to {@link defaultMaxListeners}.
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.
Returns a copy of the array of listeners for the event named eventName
.
Alias for emitter.removeListener()
.
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.
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.
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.
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.
Returns a copy of the array of listeners for the event named eventName
, including any wrappers (such as those created by .once()
).
Removes all listeners, or those of the specified eventName
.
Removes the specified listener
from the listener array for the event named eventName
.
By default EventEmitter
s 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.
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.
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.