Fix exit conditions at startup
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationWorker.ts
CommitLineData
32de5a57
LM
1import ChargingStationInfo from './ChargingStationInfo';
2import { ConnectorStatus } from './ConnectorStatus';
e3822d6f 3import { JsonObject } from './JsonType';
53e5fd67 4import Statistics from './Statistics';
8114d10e 5import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
d070d967 6
e3822d6f 7export interface ChargingStationWorkerOptions extends JsonObject {
d070d967
JB
8 elementStartDelay?: number;
9}
10
98dc07fa
JB
11export interface ChargingStationWorkerData extends WorkerData {
12 index: number;
13 templateFile: string;
d070d967 14 chargingStationWorkerOptions?: ChargingStationWorkerOptions;
98dc07fa
JB
15}
16
32de5a57
LM
17export interface ChargingStationData extends WorkerData {
18 hashId: string;
19 stationInfo: ChargingStationInfo;
89b7a234 20 stopped: boolean;
32de5a57
LM
21 connectors: ConnectorStatus[];
22}
23
24enum ChargingStationMessageEvents {
ee0f106b
JB
25 STARTED = 'started',
26 STOPPED = 'stopped',
32de5a57 27 UPDATED = 'updated',
e7aeea18 28 PERFORMANCE_STATISTICS = 'performanceStatistics',
98dc07fa
JB
29}
30
32de5a57 31export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents;
98dc07fa
JB
32
33export const ChargingStationWorkerMessageEvents = {
34 ...WorkerMessageEvents,
32de5a57 35 ...ChargingStationMessageEvents,
98dc07fa
JB
36};
37
53e5fd67
JB
38export type ChargingStationWorkerMessageData = ChargingStationData | Statistics;
39
32de5a57
LM
40export interface ChargingStationWorkerMessage<T extends WorkerData>
41 extends Omit<WorkerMessage<T>, 'id'> {
98dc07fa
JB
42 id: ChargingStationWorkerMessageEvents;
43}