Commit | Line | Data |
---|---|---|
bdaf31cd JB |
1 | /** |
2 | * Callback invoked if the worker has received a message. | |
3 | */ | |
4 | export type MessageHandler<Worker> = (this: Worker, m: unknown) => void | |
5 | ||
6 | /** | |
7 | * Callback invoked if the worker raised an error. | |
8 | */ | |
9 | export type ErrorHandler<Worker> = (this: Worker, e: Error) => void | |
10 | ||
11 | /** | |
12 | * Callback invoked when the worker has started successfully. | |
13 | */ | |
14 | export type OnlineHandler<Worker> = (this: Worker) => void | |
15 | ||
16 | /** | |
17 | * Callback invoked when the worker exits successfully. | |
18 | */ | |
19 | export type ExitHandler<Worker> = (this: Worker, code: number) => void | |
20 | ||
21 | /** | |
ea7a90d3 | 22 | * Interface that describes the minimum required implementation of listener events for a pool worker. |
bdaf31cd JB |
23 | */ |
24 | export interface IPoolWorker { | |
bdaf31cd JB |
25 | /** |
26 | * Register a listener to the message event. | |
27 | * | |
28 | * @param event `'message'`. | |
29 | * @param handler The message handler. | |
30 | */ | |
31 | on(event: 'message', handler: MessageHandler<this>): void | |
32 | /** | |
33 | * Register a listener to the error event. | |
34 | * | |
35 | * @param event `'error'`. | |
36 | * @param handler The error handler. | |
37 | */ | |
38 | on(event: 'error', handler: ErrorHandler<this>): void | |
39 | /** | |
40 | * Register a listener to the online event. | |
41 | * | |
42 | * @param event `'online'`. | |
43 | * @param handler The online handler. | |
44 | */ | |
45 | on(event: 'online', handler: OnlineHandler<this>): void | |
46 | /** | |
47 | * Register a listener to the exit event. | |
48 | * | |
49 | * @param event `'exit'`. | |
50 | * @param handler The exit handler. | |
51 | */ | |
52 | on(event: 'exit', handler: ExitHandler<this>): void | |
53 | /** | |
54 | * Register a listener to the exit event that will only performed once. | |
55 | * | |
56 | * @param event `'exit'`. | |
57 | * @param handler The exit handler. | |
58 | */ | |
59 | once(event: 'exit', handler: ExitHandler<this>): void | |
60 | } |