Introduce JSON type and use it for OCPP and internal message structure
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationWorker.ts
1 import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
2
3 export interface ChargingStationWorkerData extends WorkerData {
4 index: number;
5 templateFile: string;
6 }
7
8 enum InternalChargingStationWorkerMessageEvents {
9 STARTED = 'started',
10 STOPPED = 'stopped',
11 PERFORMANCE_STATISTICS = 'performanceStatistics'
12 }
13
14 export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | InternalChargingStationWorkerMessageEvents;
15
16 export const ChargingStationWorkerMessageEvents = {
17 ...WorkerMessageEvents,
18 ...InternalChargingStationWorkerMessageEvents
19 };
20
21
22 export interface ChargingStationWorkerMessage extends Omit<WorkerMessage<ChargingStationWorkerData>, 'id'> {
23 id: ChargingStationWorkerMessageEvents;
24 }