chore: switch coding style to JS standard
[e-mobility-charging-stations-simulator.git] / src / charging-station / ChargingStationWorker.ts
index c8f992f370b39c48b14275bc24a39953ab089f7c..78d0bc8a1c9752a020ba420ea2a0cce04ee5e687 100644 (file)
@@ -1,14 +1,14 @@
 // Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
 
-import { parentPort } from 'node:worker_threads';
+import { parentPort } from 'node:worker_threads'
 
-import { ThreadWorker } from 'poolifier';
+import { ThreadWorker } from 'poolifier'
 
-import { ChargingStation } from './ChargingStation.js';
-import { BaseError } from '../exception/index.js';
-import type { ChargingStationWorkerData } from '../types/index.js';
-import { Configuration } from '../utils/index.js';
-import { type WorkerMessage, WorkerMessageEvents } from '../worker/index.js';
+import { ChargingStation } from './ChargingStation.js'
+import { BaseError } from '../exception/index.js'
+import type { ChargingStationWorkerData } from '../types/index.js'
+import { Configuration } from '../utils/index.js'
+import { type WorkerMessage, WorkerMessageEvents } from '../worker/index.js'
 
 /**
  * Creates and starts a charging station instance
@@ -16,49 +16,51 @@ import { type WorkerMessage, WorkerMessageEvents } from '../worker/index.js';
  * @param data - data sent to worker
  */
 const startChargingStation = (data?: ChargingStationWorkerData): void => {
-  new ChargingStation(data!.index, data!.templateFile).start();
-};
+  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+  new ChargingStation(data!.index, data!.templateFile).start()
+}
 
+// eslint-disable-next-line @typescript-eslint/no-extraneous-class
 class ChargingStationWorker<Data extends ChargingStationWorkerData> {
-  constructor() {
+  constructor () {
     // Add message listener to create and start charging station from the main thread
     parentPort?.on('message', (message: WorkerMessage<Data>) => {
       switch (message.event) {
         case WorkerMessageEvents.startWorkerElement:
           try {
-            startChargingStation(message.data);
+            startChargingStation(message.data)
             parentPort?.postMessage({
-              event: WorkerMessageEvents.startedWorkerElement,
-            });
+              event: WorkerMessageEvents.startedWorkerElement
+            })
           } catch (error) {
             parentPort?.postMessage({
               event: WorkerMessageEvents.startWorkerElementError,
               data: {
                 name: (error as Error).name,
                 message: (error as Error).message,
-                stack: (error as Error).stack,
-              },
-            });
+                stack: (error as Error).stack
+              }
+            })
           }
-          break;
+          break
         default:
           throw new BaseError(
             `Unknown worker event: '${message.event}' received with data: '${JSON.stringify(
               message.data,
               undefined,
-              2,
-            )}'`,
-          );
+              2
+            )}'`
+          )
       }
-    });
+    })
   }
 }
 
 export let chargingStationWorker:
-  | ChargingStationWorker<ChargingStationWorkerData>
-  | ThreadWorker<ChargingStationWorkerData>;
+| ChargingStationWorker<ChargingStationWorkerData>
+| ThreadWorker<ChargingStationWorkerData>
 if (Configuration.workerPoolInUse()) {
-  chargingStationWorker = new ThreadWorker<ChargingStationWorkerData>(startChargingStation);
+  chargingStationWorker = new ThreadWorker<ChargingStationWorkerData>(startChargingStation)
 } else {
-  chargingStationWorker = new ChargingStationWorker<ChargingStationWorkerData>();
+  chargingStationWorker = new ChargingStationWorker<ChargingStationWorkerData>()
 }