X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fworker%2FWorkerFactory.ts;h=73bcd56dc62467c7bb942157d88554014b8240af;hb=3b09e788c6dab8e5a8b3314e8e69ede16ff82fcc;hp=67da00d88a5b2d32572fa2f8a5f422fe3b73a843;hpb=8ae4dcf159bf29835de7fd1edd7978aa8a3ee76b;p=e-mobility-charging-stations-simulator.git diff --git a/src/worker/WorkerFactory.ts b/src/worker/WorkerFactory.ts index 67da00d8..73bcd56d 100644 --- a/src/worker/WorkerFactory.ts +++ b/src/worker/WorkerFactory.ts @@ -15,30 +15,25 @@ export class WorkerFactory { // This is intentional } - public static getWorkerImplementation( + public static getWorkerImplementation( workerScript: string, workerProcessType: WorkerProcessType, workerOptions?: WorkerOptions - ): WorkerAbstract | undefined { + ): WorkerAbstract { if (!isMainThread) { throw new Error('Cannot get a worker implementation outside the main thread') } workerOptions = mergeDeepRight(DEFAULT_WORKER_OPTIONS, workerOptions ?? {}) - let workerImplementation: WorkerAbstract switch (workerProcessType) { case WorkerProcessType.workerSet: - workerImplementation = new WorkerSet(workerScript, workerOptions) - break + return new WorkerSet(workerScript, workerOptions) case WorkerProcessType.fixedPool: - workerImplementation = new WorkerFixedPool(workerScript, workerOptions) - break + return new WorkerFixedPool(workerScript, workerOptions) case WorkerProcessType.dynamicPool: - workerImplementation = new WorkerDynamicPool(workerScript, workerOptions) - break + return new WorkerDynamicPool(workerScript, workerOptions) default: // eslint-disable-next-line @typescript-eslint/restrict-template-expressions throw new Error(`Worker implementation type '${workerProcessType}' not found`) } - return workerImplementation } }