1 | import { BaseWorkerData } from './transformMultiThreaded.model'
|
2 |
|
3 | export interface WorkerClassInterface<
|
4 | IN,
|
5 | OUT,
|
6 | WORKER_DATA extends BaseWorkerData = BaseWorkerData,
|
7 | > {
|
8 | WorkerClass: BaseWorkerClass<IN, OUT, WORKER_DATA>
|
9 | }
|
10 |
|
11 | /**
|
12 | * Class to be extended, to be used with `transformMultiThreaded`
|
13 | */
|
14 | export abstract class BaseWorkerClass<
|
15 | IN,
|
16 | OUT,
|
17 | WORKER_DATA extends BaseWorkerData = BaseWorkerData,
|
18 | > {
|
19 | constructor(public workerData: WORKER_DATA) {}
|
20 |
|
21 | abstract process(msg: IN, index: number): Promise<OUT>
|
22 | }
|