UNPKG

1.29 kBTypeScriptView Raw
1interface Workers {
2 (callback: WorkerCallback): void;
3 (arg1: any, callback: WorkerCallback): void;
4 (arg1: any, arg2: any, callback: WorkerCallback): void;
5 (arg1: any, arg2: any, arg3: any, callback: WorkerCallback): void;
6 (arg1: any, arg2: any, arg3: any, arg4: any, callback: WorkerCallback): void;
7}
8
9type WorkerCallback =
10 | WorkerCallback0
11 | WorkerCallback1
12 | WorkerCallback2
13 | WorkerCallback3
14 | WorkerCallback4;
15
16type WorkerCallback0 = () => void;
17type WorkerCallback1 = (arg1: any) => void;
18type WorkerCallback2 = (arg1: any, arg2: any) => void;
19type WorkerCallback3 = (arg1: any, arg2: any, arg3: any) => void;
20type WorkerCallback4 = (arg1: any, arg2: any, arg3: any, arg4: any) => void;
21
22interface FarmOptions {
23 maxCallsPerWorker?: number
24 maxConcurrentWorkers?: number
25 maxConcurrentCallsPerWorker?: number
26 maxConcurrentCalls?: number
27 maxCallTime?: number
28 maxRetries?: number
29 autoStart?: boolean
30}
31
32interface WorkerFarm {
33 (name: string): Workers;
34 (name: string, exportedMethods: string[]): Workers;
35 (options: FarmOptions, name: string): Workers;
36 (options: FarmOptions, name: string, exportedMethods: string[]): Workers;
37
38 end: (workers: Workers) => void;
39}
40
41declare module "worker-farm" {
42 const workerFarm: WorkerFarm;
43 export = workerFarm;
44}