UNPKG

zorigami

Version:
39 lines (38 loc) 1.69 kB
import { INDIVIDUAL_WORKER, TRANSPARENT_POOL } from './worker_constants'; export interface IConstructable<T> { new (): T; } export interface IWorkerSet { readonly worker: Worker; readonly worker_name: string; } export interface ICustomWorkerPort { postMessage: PromisedPostMessage; createResponse: (event: MessageEvent) => (message: any) => void; } export interface IMessage { from?: string; } export interface ApiConfiguration { readonly [dispatch_name: string]: DispatchHandler; } export interface Dictionary<T> { [key: string]: T; } export declare type IHasToJSON = any; export declare type ResponseCallback = (message: any, err?: any) => void; export declare type UUID = string; export declare type Maybe<T> = T | undefined; export declare type Transferable = ArrayBuffer | MessagePort | ImageBitmap; export declare type PromisedPostMessage = (message: any, transferables?: Array<Transferable>) => Promise<MessageEvent>; export declare type ResponseFunction = (message: any) => void; export declare type DispatchHandler = (event: MessageEvent, respond: ResponseFunction) => void; export declare type WorkerConstructor = IConstructable<Worker>; export declare type WorkerList = Array<{ WorkerConstructor: WorkerConstructor; worker_name: string; type: INDIVIDUAL_WORKER | TRANSPARENT_POOL; }>; export declare function isMessagePort(potential_port: Maybe<MessagePort>): potential_port is MessagePort; export declare function isCustomPort(potential_port: Maybe<ICustomWorkerPort>): potential_port is ICustomWorkerPort; export declare function isPromisedPostMessage(potential_func: Maybe<PromisedPostMessage>): potential_func is PromisedPostMessage;