Class Terminal

Class representing a Terminal Brick. It extends from the Brick class.

It uses the TerminalKit library to interact with the terminal.

Example

const terminalBrick = new TerminalBrick({ logLevel: 'silent' })

while (true) {
terminalBrick.print('> ')
const input = await terminalBrick.input()

switch (input.toLowerCase()) {
case 'exit':
terminalBrick.printSuccess('Bye!')
process.exit()
case 'error':
terminalBrick.printError('Error!')
break
case 'yellow':
terminalBrick.terminal.yellow('Yellow!')
break
default:
terminalBrick.printLine(`Command: ${input}`)
}
}

Hierarchy

Constructors

Properties

#keepAliveInterval?: Timer

The interval of the keep alive function of the Brick instance. This is a private property used to store the interval of the keep alive function.

#programs: {
    [key: string]: Program;
}

The programs of the Brick instance. This is a private property used to store the programs that the Brick can run.

Type declaration

#tasks: Task[] = []

The scheduled tasks of the Brick instance. This is a private property used to store the scheduled tasks that the Brick can run.

The intelligence of the Brick instance. This is used to manage the AI capabilities of the Brick.

The database of the Brick instance. This is used to manage the data storage and retrieval for the Brick.

events: EventEmitter

The event emitter of the Brick instance. This is used to emit events that occur in the Brick, such as the running of a program.

id: string

The unique identifier of the Brick instance.

kit: __module

The TerminalKit module.

log: Logger<LoggerOptions>

The logger used by the Brick instance. This is used to log information about the operation of the Brick.

name: string

The name of the Brick instance.

structure?: Structure

The parent Structure of the Brick instance, if any.

terminal: Terminal

The TerminalKit terminal instance.

Accessors

  • get programs(): {
        [key: string]: Program;
    }
  • Returns the private map of programs.

    Returns {
        [key: string]: Program;
    }

Methods

  • Removes a program from the private map of programs by its name.

    Parameters

    • name: string

      The name of the program to remove.

    Returns void

  • Prompts the user for input in the terminal.

    Parameters

    • inputOptions: InputFieldOptions = {}

      The options for the input field.

    Returns Promise<string>

    A promise that resolves to the user's input.

  • Toggles the keep alive flag of the Brick instance, which will prevent the Node process from exiting

    Parameters

    • on: boolean

      A boolean indicating whether to turn the keep alive flag on or off.

    Returns void

    Remarks

    This is useful if you don't have a server or something else keeping the Node process alive.

  • Prints some text to the terminal.

    Parameters

    • text: string

      The text to print.

    Returns void

  • Prints a debug message to the terminal in cyan color.

    Parameters

    • text: string

      The debug message to print.

    Returns void

  • Prints an error message to the terminal in red color.

    Parameters

    • text: string

      The error message to print.

    Returns void

  • Prints an info message to the terminal in blue color.

    Parameters

    • text: string

      The info message to print.

    Returns void

  • Prints a line of text to the terminal.

    Parameters

    • text: string

      The text to print.

    Returns void

  • Prints a success message to the terminal in green color.

    Parameters

    • text: string

      The success message to print.

    Returns void

  • Prints a warning message to the terminal in yellow color.

    Parameters

    • text: string

      The warning message to print.

    Returns void

  • Adds a program to the private map of programs.

    Parameters

    • program: Program

      The program to add.

    Returns void

  • Runs a program by its name with a given payload.

    Parameters

    • name: string

      The name of the program to run.

    • payload: any

      The payload to pass to the program.

    Returns Promise<any>

    The result of the program.

  • Schedules a Task to run on a given schedule. This is a wrapper around the node-cron package.

    Parameters

    Returns Task

    The scheduled task.

    Remarks

    The task will run on the schedule provided, and will run the method provided with the Brick instance as the first argument.

    Throws

    An error if the task already exists.

  • Unschedules a task by its name.

    Parameters

    • name: string

      The name of the task to unschedule.

    Returns void

    Throws

    An error if the task does not exist.