forked from rvagg/node-worker-farm
-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.d.ts
48 lines (41 loc) · 1.37 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { ForkOptions } from "child_process";
export = Farm;
declare function Farm(name: string): Workers;
declare function Farm(name: string, exportedMethods: string[]): Workers;
declare function Farm(options: FarmOptions, name: string): Workers;
declare function Farm(
options: FarmOptions,
name: string,
exportedMethods: string[],
): Workers;
interface Workers {
(callback: WorkerCallback): void;
(arg1: any, callback: WorkerCallback): void;
(arg1: any, arg2: any, callback: WorkerCallback): void;
(arg1: any, arg2: any, arg3: any, callback: WorkerCallback): void;
(arg1: any, arg2: any, arg3: any, arg4: any, callback: WorkerCallback): void;
}
interface FarmOptions {
maxCallsPerWorker?: number;
maxConcurrentWorkers?: number;
maxConcurrentCallsPerWorker?: number;
maxConcurrentCalls?: number;
maxCallTime?: number;
maxRetries?: number;
autoStart?: boolean;
workerOptions?: ForkOptions;
}
type WorkerCallback =
| WorkerCallback0
| WorkerCallback1
| WorkerCallback2
| WorkerCallback3
| WorkerCallback4;
type WorkerCallback0 = () => void;
type WorkerCallback1 = (arg1: any) => void;
type WorkerCallback2 = (arg1: any, arg2: any) => void;
type WorkerCallback3 = (arg1: any, arg2: any, arg3: any) => void;
type WorkerCallback4 = (arg1: any, arg2: any, arg3: any, arg4: any) => void;
declare namespace Farm {
export function end(workers: Workers): void;
}