UNPKG

@jupyterlite/terminal

Version:
41 lines (40 loc) 1.41 kB
import type { Contents } from '@jupyterlab/services'; import type { ICoincidentShellWorker, IComlinkShellWorker, IShell } from '@jupyterlite/cockle'; import { BaseShell } from '@jupyterlite/cockle'; import type { Client as WebSocketClient } from 'mock-socket'; export interface ITerminalShell extends IShell { socket?: WebSocketClient; } export declare namespace ITerminalShell { interface IOptions extends IShell.IOptions { /** * The JupyterLite content manager, used for DriveFS requests via SharedArrayBuffer. */ contentsManager?: Contents.IManager; } } /** * Shell class that uses web worker that plugs into a DriveFS via the service worker or shared * array buffer. */ export declare class TerminalShell extends BaseShell { /** * Instantiate a new Shell * * @param options The instantiation options for a new shell */ constructor(options: ITerminalShell.IOptions); /** * Override base class createRemote to add handler for SharedArrayBuffer DriveFS request. */ protected createRemote(options: IShell.IOptions & { worker: Worker; }): ICoincidentShellWorker | IComlinkShellWorker; /** * Load the correct web worker. */ protected initWorker(options: ITerminalShell.IOptions): Worker; socket?: WebSocketClient; private _contentsManager; private _contentsProcessor; }