2 * Worker synchronous function that can be executed.
4 * @typeParam Data - Type of data sent to the worker. This can only be serializable data.
5 * @typeParam Response - Type of execution response. This can only be serializable data.
7 export type WorkerSyncFunction
<Data
= unknown
, Response
= unknown
> = (
12 * Worker asynchronous function that can be executed.
13 * This function must return a promise.
15 * @typeParam Data - Type of data sent to the worker. This can only be serializable data.
16 * @typeParam Response - Type of execution response. This can only be serializable data.
18 export type WorkerAsyncFunction
<Data
= unknown
, Response
= unknown
> = (
20 ) => Promise
<Response
>
23 * Worker function that can be executed.
24 * This function can be synchronous or asynchronous.
26 * @typeParam Data - Type of data sent to the worker. This can only be serializable data.
27 * @typeParam Response - Type of execution response. This can only be serializable data.
29 export type WorkerFunction
<Data
= unknown
, Response
= unknown
> =
30 | WorkerSyncFunction
<Data
, Response
>
31 | WorkerAsyncFunction
<Data
, Response
>
34 * Worker functions that can be executed.
35 * This object can contain synchronous or asynchronous functions.
36 * The key is the name of the function.
37 * The value is the function itself.
39 * @typeParam Data - Type of data sent to the worker. This can only be serializable data.
40 * @typeParam Response - Type of execution response. This can only be serializable data.
42 export type TaskFunctions
<Data
= unknown
, Response
= unknown
> = Record
<
44 WorkerFunction
<Data
, Response
>