Ensure heartbeat interval configuration are initialized by default
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationWorker.ts
index f016d8ffba7f980cf4ddb77d6222a5c236005676..f5a0206da23247bde4805f7ce87b7f2316027bb4 100644 (file)
@@ -1,22 +1,33 @@
 import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
 
+import { JsonType } from './JsonType';
+
+export interface ChargingStationWorkerOptions extends JsonType {
+  elementStartDelay?: number;
+}
+
 export interface ChargingStationWorkerData extends WorkerData {
   index: number;
   templateFile: string;
+  chargingStationWorkerOptions?: ChargingStationWorkerOptions;
 }
 
 enum InternalChargingStationWorkerMessageEvents {
-  PERFORMANCE_STATISTICS = 'performanceStatistics'
+  STARTED = 'started',
+  STOPPED = 'stopped',
+  PERFORMANCE_STATISTICS = 'performanceStatistics',
 }
 
-export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | InternalChargingStationWorkerMessageEvents;
+export type ChargingStationWorkerMessageEvents =
+  | WorkerMessageEvents
+  | InternalChargingStationWorkerMessageEvents;
 
 export const ChargingStationWorkerMessageEvents = {
   ...WorkerMessageEvents,
-  ...InternalChargingStationWorkerMessageEvents
+  ...InternalChargingStationWorkerMessageEvents,
 };
 
-
-export interface ChargingStationWorkerMessage extends Omit<WorkerMessage, 'id'> {
+export interface ChargingStationWorkerMessage
+  extends Omit<WorkerMessage<ChargingStationWorkerData>, 'id'> {
   id: ChargingStationWorkerMessageEvents;
 }