refactor: consolidate default values handling
[e-mobility-charging-stations-simulator.git] / src / charging-station / Bootstrap.ts
index acd8e73cb23ea1b7cf0b41e5e6cd3436cc4ee0f9..ddf8ee7016c7ab5bf82f09d9f80ca1bec32ee68b 100644 (file)
@@ -300,17 +300,18 @@ export class Bootstrap extends EventEmitter {
     if (!isMainThread) {
       return
     }
-    let elementsPerWorker: number | undefined
+    let elementsPerWorker: number
     switch (workerConfiguration.elementsPerWorker) {
+      case 'all':
+        elementsPerWorker = this.numberOfConfiguredChargingStations
+        break
       case 'auto':
+      default:
         elementsPerWorker =
           this.numberOfConfiguredChargingStations > availableParallelism()
             ? Math.round(this.numberOfConfiguredChargingStations / (availableParallelism() * 1.5))
             : 1
         break
-      case 'all':
-        elementsPerWorker = this.numberOfConfiguredChargingStations
-        break
     }
     this.workerImplementation = WorkerFactory.getWorkerImplementation<ChargingStationWorkerData>(
       join(
@@ -326,7 +327,7 @@ export class Bootstrap extends EventEmitter {
         poolMaxSize: workerConfiguration.poolMaxSize!,
         // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
         poolMinSize: workerConfiguration.poolMinSize!,
-        elementsPerWorker: elementsPerWorker ?? (workerConfiguration.elementsPerWorker as number),
+        elementsPerWorker,
         poolOptions: {
           messageHandler: this.messageHandler.bind(this) as MessageHandler<Worker>,
           workerOptions: { resourceLimits: workerConfiguration.resourceLimits }