UNPKG

526 BPlain TextView Raw
1import { BaseWorkerData } from './transformMultiThreaded.model'
2
3export 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 */
14export 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}