UNPKG

data-transport

Version:
37 lines 1.64 kB
import { callbackKey } from '../constant'; import { TransportOptions, TransferableWorker, BaseInteraction } from '../interface'; import { Transport } from '../transport'; interface SharedWorkerPort extends TransferableWorker { _port?: MessagePort; } export interface SharedWorkerClientTransportOptions extends Partial<TransportOptions<TransferableWorker>> { /** * Pass a shared worker instance for data transport. */ worker: SharedWorker; } type ClientCallback = () => void | Promise<void>; type WorkerCallback = (clientId: string) => void | Promise<void>; export interface SharedWorkerInternalTransportOptions extends Partial<TransportOptions<SharedWorkerPort>> { } export declare abstract class SharedWorkerClientTransport<T extends BaseInteraction = any> extends Transport<T> { constructor(_options: SharedWorkerClientTransportOptions); private _onConnectCallback; onConnect(callback: ClientCallback): () => void; } export declare abstract class SharedWorkerInternalTransport<T extends BaseInteraction = any> extends Transport<T> { protected ports: Map<string, MessagePort>; protected tempPorts: Set<MessagePort>; private [callbackKey]; constructor(_options?: SharedWorkerInternalTransportOptions); private _onConnectCallback; onConnect(callback: WorkerCallback): () => void; private _onDisconnectCallback; onDisconnect(callback: WorkerCallback): () => void; } export declare const SharedWorkerTransport: { Client: typeof SharedWorkerClientTransport; Worker: typeof SharedWorkerInternalTransport; }; export {}; //# sourceMappingURL=sharedWorkerTransport.d.ts.map