-import { JsonType } from './JsonType';
-import { PoolOptions } from 'poolifier';
-import { Worker } from 'worker_threads';
+import type { Worker } from 'worker_threads';
+
+import type { PoolOptions } from 'poolifier';
export enum WorkerProcessType {
WORKER_SET = 'workerSet',
DYNAMIC_POOL = 'dynamicPool',
- STATIC_POOL = 'staticPool'
+ STATIC_POOL = 'staticPool',
}
-export interface WorkerOptions {
+export type WorkerOptions = {
workerStartDelay?: number;
elementStartDelay?: number;
poolMaxSize?: number;
poolMinSize?: number;
elementsPerWorker?: number;
poolOptions?: PoolOptions<Worker>;
- messageHandler?: (message: unknown) => void | Promise<void>;
-}
+ messageHandler?: (this: Worker, message: unknown) => void | Promise<void>;
+};
-export type WorkerData = JsonType;
+export type WorkerData = Record<string, unknown>;
-export interface WorkerSetElement {
+export type WorkerSetElement = {
worker: Worker;
numberOfWorkerElements: number;
-}
+};
-export interface WorkerMessage<T extends WorkerData> {
+export type WorkerMessage<T extends WorkerData> = {
id: WorkerMessageEvents;
data: T;
-}
+};
export enum WorkerMessageEvents {
START_WORKER_ELEMENT = 'startWorkerElement',
- STOP_WORKER_ELEMENT = 'stopWorkerElement'
}
-