UNPKG

@skitee3000/bun-pty

Version:

Cross-platform pseudoterminal (PTY) implementation for Bun with native performance

106 lines 2.51 kB
/** * Interface for disposable resources. */ export interface IDisposable { /** * Disposes the resource, performing any necessary cleanup. */ dispose(): void; } /** * Event implementation for the terminal. */ export declare class EventEmitter<T> { private listeners; event: (listener: (e: T) => void) => IDisposable; fire(data: T): void; } /** * Options for spawning a new PTY process. */ export interface IPtyForkOptions { /** * The name of the terminal to be set in environment variables. */ name: string; /** * The number of columns in the PTY. */ cols?: number; /** * The number of rows in the PTY. */ rows?: number; /** * The current working directory of the process. * Defaults to the current working directory of the parent process. */ cwd?: string; /** * Environment variables to set for the process. */ env?: Record<string, string>; } /** * Exit data for PTY process. */ export interface IExitEvent { /** * The process exit code. */ exitCode: number; /** * The signal that caused the process to exit, if any. */ signal?: number | string; } /** * Interface for interacting with a pseudo-terminal (PTY) instance. */ export interface IPty { /** * The PID of the process running in the PTY. */ readonly pid: number; /** * The column size in characters. */ readonly cols: number; /** * The row size in characters. */ readonly rows: number; /** * The title of the active process. */ readonly process: string; /** * Set a callback for when data is received from the PTY. */ readonly onData: (listener: (data: string) => void) => IDisposable; /** * Event emitted when the PTY process exits. */ readonly onExit: (listener: (event: IExitEvent) => void) => IDisposable; /** * Write data to the PTY. * * @param data - The data to write. */ write(data: string): void; /** * Resize the PTY. * * @param columns - Number of columns (character width). * @param rows - Number of rows (character height). */ resize(columns: number, rows: number): void; /** * Kill the process running in the PTY. * * @param signal - The signal to send to the process. * Defaults to "SIGTERM". */ kill(signal?: string): void; } //# sourceMappingURL=interfaces.d.ts.map