worktank
Version:
A simple isomorphic library for executing functions inside WebWorkers or Node Threads pools.
32 lines (31 loc) • 1.06 kB
TypeScript
import WorkerError from './worker/error.js';
import type { Methods, MethodsNames, MethodsProxied, MethodArguments, MethodReturn, ExecOptions, Options, Stats } from './types.js';
declare class WorkTank<T extends Methods> {
private name;
private size;
private env;
private bootloader;
private autoAbort;
private autoInstantiate;
private autoTerminate;
private tasksBusy;
private tasksIdle;
private workersBusy;
private workersIdle;
constructor(options: Options<T>);
private getTaskIdle;
private getWorkerBootloader;
private getWorkerIdle;
private getWorkerIdleNew;
private getWorkerName;
cleanup: () => void;
exec: <U extends MethodsNames<T>>(method: U, args: MethodArguments<T, U>, options?: ExecOptions) => Promise<Awaited<MethodReturn<T, U>>>;
proxy: () => MethodsProxied<T>;
resize: (size: number) => void;
stats: () => Stats;
terminate: () => void;
tick: () => void;
}
export default WorkTank;
export { WorkerError };
export type { ExecOptions, Options, Stats };