UNPKG

opnet

Version:

The perfect library for building Bitcoin-based applications.

29 lines (28 loc) 955 B
export interface TaskMessage<TOp extends string = string, TData = unknown> { id: number; op: TOp; data: TData; } export interface ResultMessage<TResult = unknown> { id: number; result?: TResult; error?: string; } export interface PendingTask<TResult = unknown> { resolve: (value: TResult) => void; reject: (error: Error) => void; } export interface QueuedTask<TOp extends string = string, TData = unknown, TResult = unknown> extends PendingTask<TResult> { op: TOp; data: TData; transferables?: ArrayBuffer[]; } export interface ThreaderOptions { poolSize?: number; } export interface UniversalWorker<TOp extends string = string, TData = unknown, TResult = unknown> { postMessage(msg: TaskMessage<TOp, TData>, transferables?: readonly Transferable[]): void; onMessage(callback: (msg: ResultMessage<TResult>) => void): void; terminate(): void | Promise<void>; } export type WorkerScript = string;