@jupyterlite/terminal
Version:
A terminal for JupyterLite
41 lines (40 loc) • 1.41 kB
TypeScript
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;
}