155a353a0d61efb84bf894de867a86fb8c233a03
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationWorker.ts
1 import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
2
3 import { JsonType } from './JsonType';
4
5 export interface ChargingStationWorkerOptions extends JsonType {
6 elementStartDelay?: number;
7 }
8
9 export interface ChargingStationWorkerData extends WorkerData {
10 index: number;
11 templateFile: string;
12 chargingStationWorkerOptions?: ChargingStationWorkerOptions;
13 }
14
15 enum InternalChargingStationWorkerMessageEvents {
16 STARTED = 'started',
17 STOPPED = 'stopped',
18 PERFORMANCE_STATISTICS = 'performanceStatistics'
19 }
20
21 export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | InternalChargingStationWorkerMessageEvents;
22
23 export const ChargingStationWorkerMessageEvents = {
24 ...WorkerMessageEvents,
25 ...InternalChargingStationWorkerMessageEvents
26 };
27
28
29 export interface ChargingStationWorkerMessage extends Omit<WorkerMessage<ChargingStationWorkerData>, 'id'> {
30 id: ChargingStationWorkerMessageEvents;
31 }