data-transport
Version:
A simple and responsive transport
76 lines • 4.5 kB
TypeScript
import { IFrameMainTransportOptions, IFrameTransportInternalOptions, ElectronMainTransportOptions, ElectronRendererTransportOptions, ServiceWorkerClientTransportOptions, ServiceWorkerServiceTransportOptions, WorkerMainTransportOptions, WorkerInternalTransportOptions, WebRTCTransport, WebRTCTransportOptions, BroadcastTransport, BroadcastTransportOptions, BrowserExtensionsMainTransport, BrowserExtensionsMainTransportOptions, BrowserExtensionsClientTransport, BrowserExtensionsClientTransportOptions, BrowserExtensionsGenericTransport, BrowserExtensionsGenericTransportOptions, SharedWorkerInternalTransportOptions, SharedWorkerClientTransportOptions, MessageTransport, MessageTransportOptions, IFrameMainTransport, IFrameInternalTransport, ElectronMainTransport, ElectronRendererTransport, ServiceWorkerClientTransport, ServiceWorkerServiceTransport, WorkerInternalTransport, WorkerMainTransport, SharedWorkerClientTransport, SharedWorkerInternalTransport, MainProcessTransport, ChildProcessTransport, MainProcessTransportOptions, ChildProcessTransportOptions } from './transports';
import { Transport } from './transport';
import type { TransportOptions } from './interface';
export interface TransportOptionsMap {
IFrameMain: IFrameMainTransportOptions;
IFrameInternal: IFrameTransportInternalOptions;
BrowserExtensions: BrowserExtensionsGenericTransportOptions;
BrowserExtensionsMain: BrowserExtensionsMainTransportOptions;
BrowserExtensionsClient: BrowserExtensionsClientTransportOptions;
ElectronMain: ElectronMainTransportOptions;
ElectronRenderer: ElectronRendererTransportOptions;
ServiceWorkerClient: ServiceWorkerClientTransportOptions;
ServiceWorkerService: ServiceWorkerServiceTransportOptions;
WebWorkerClient: WorkerMainTransportOptions;
WebWorkerInternal: WorkerInternalTransportOptions;
WebRTC: WebRTCTransportOptions;
Broadcast: BroadcastTransportOptions;
SharedWorkerClient: SharedWorkerClientTransportOptions;
SharedWorkerInternal: SharedWorkerInternalTransportOptions;
Base: TransportOptions;
MessageTransport: MessageTransportOptions;
MainProcess: MainProcessTransportOptions;
ChildProcess: ChildProcessTransportOptions;
}
export interface Transports {
Base: Transport;
MessageTransport: MessageTransport;
IFrameMain: IFrameMainTransport;
IFrameInternal: IFrameInternalTransport;
SharedWorkerClient: SharedWorkerClientTransport;
SharedWorkerInternal: SharedWorkerInternalTransport;
ServiceWorkerClient: ServiceWorkerClientTransport;
ServiceWorkerService: ServiceWorkerServiceTransport;
WebWorkerClient: WorkerMainTransport;
WebWorkerInternal: WorkerInternalTransport;
BrowserExtensions: BrowserExtensionsGenericTransport;
BrowserExtensionsMain: BrowserExtensionsMainTransport;
BrowserExtensionsClient: BrowserExtensionsClientTransport;
ElectronMain: ElectronMainTransport;
ElectronRenderer: ElectronRendererTransport;
WebRTC: WebRTCTransport;
Broadcast: BroadcastTransport;
MainProcess: MainProcessTransport;
ChildProcess: ChildProcessTransport;
}
export declare const TransportMap: {
Base: typeof Transport;
MessageTransport: typeof MessageTransport;
IFrameMain: typeof IFrameMainTransport;
IFrameInternal: typeof IFrameInternalTransport;
BrowserExtensions: typeof BrowserExtensionsGenericTransport;
BrowserExtensionsMain: typeof BrowserExtensionsMainTransport;
BrowserExtensionsClient: typeof BrowserExtensionsClientTransport;
ElectronMain: typeof ElectronMainTransport;
ElectronRenderer: typeof ElectronRendererTransport;
ServiceWorkerClient: typeof ServiceWorkerClientTransport;
ServiceWorkerService: typeof ServiceWorkerServiceTransport;
WebWorkerClient: typeof WorkerMainTransport;
WebWorkerInternal: typeof WorkerInternalTransport;
WebRTC: typeof WebRTCTransport;
Broadcast: typeof BroadcastTransport;
SharedWorkerClient: typeof SharedWorkerClientTransport;
SharedWorkerInternal: typeof SharedWorkerInternalTransport;
MainProcess: typeof MainProcessTransport;
ChildProcess: typeof ChildProcessTransport;
};
/**
* Create a transport instance.
*
* @param name transport type name
* @param options transport options
*
* @returns Return a transport instance.
*/
export declare const createTransport: <T extends keyof typeof TransportMap>(name: T, options: TransportOptionsMap[T]) => Transports[T];
//# sourceMappingURL=createTransport.d.ts.map