1 | interface 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 |
|
9 | type WorkerCallback =
|
10 | | WorkerCallback0
|
11 | | WorkerCallback1
|
12 | | WorkerCallback2
|
13 | | WorkerCallback3
|
14 | | WorkerCallback4;
|
15 |
|
16 | type WorkerCallback0 = () => void;
|
17 | type WorkerCallback1 = (arg1: any) => void;
|
18 | type WorkerCallback2 = (arg1: any, arg2: any) => void;
|
19 | type WorkerCallback3 = (arg1: any, arg2: any, arg3: any) => void;
|
20 | type WorkerCallback4 = (arg1: any, arg2: any, arg3: any, arg4: any) => void;
|
21 |
|
22 | interface FarmOptions {
|
23 | maxCallsPerWorker?: number
|
24 | maxConcurrentWorkers?: number
|
25 | maxConcurrentCallsPerWorker?: number
|
26 | maxConcurrentCalls?: number
|
27 | maxCallTime?: number
|
28 | maxRetries?: number
|
29 | autoStart?: boolean
|
30 | }
|
31 |
|
32 | interface 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 |
|
41 | declare module "worker-farm" {
|
42 | const workerFarm: WorkerFarm;
|
43 | export = workerFarm;
|
44 | }
|