@georgestagg/webr
Version:
The statistical programming langauge R compiled into WASM for use in a web browser and node.
37 lines (36 loc) • 1.3 kB
TypeScript
import { AsyncQueue } from './queue';
import { Message, Response } from './message';
import { ChannelMain, ChannelWorker } from './channel';
import { WebROptions } from '../webr-main';
export declare class ServiceWorkerChannelMain implements ChannelMain {
#private;
inputQueue: AsyncQueue<Message>;
outputQueue: AsyncQueue<Message>;
initialised: Promise<unknown>;
resolve: (_?: unknown) => void;
close: () => void;
constructor(config: Required<WebROptions>);
activeRegistration(): ServiceWorker;
read(): Promise<Message>;
flush(): Promise<Message[]>;
interrupt(): void;
write(msg: Message): void;
request(msg: Message, transferables?: [Transferable]): Promise<any>;
}
export declare class ServiceWorkerChannelWorker implements ChannelWorker {
#private;
onMessageFromMainThread: (msg: Message) => void;
constructor(data: {
clientId?: string;
location?: string;
});
resolve(): void;
write(msg: Message, transfer?: [Transferable]): void;
syncRequest(message: Message): Response;
read(): Message;
inputOrDispatch(): number;
run(args: string[]): void;
setInterrupt(interrupt: () => void): void;
handleInterrupt(): void;
setDispatchHandler(dispatch: (msg: Message) => void): void;
}