fix: ensure constants are readonly data structures
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 2.0 / OCPP20Constants.ts
CommitLineData
48b75072
JB
1import { OCPP20ConnectorStatusEnumType } from '../../../types';
2import { OCPPConstants } from '../internal';
3
4cf856f0
JB
4type Transition = Readonly<{
5 from?: OCPP20ConnectorStatusEnumType;
6 to: OCPP20ConnectorStatusEnumType;
7}>;
48b75072
JB
8
9export class OCPP20Constants extends OCPPConstants {
4cf856f0 10 static readonly ChargingStationStatusTransitions: Readonly<Transition[]> = Object.freeze([
48b75072
JB
11 { to: OCPP20ConnectorStatusEnumType.Available },
12 // { from: OCPP20ConnectorStatusEnumType.Available, to: OCPP20ConnectorStatusEnumType.Available },
13 {
14 from: OCPP20ConnectorStatusEnumType.Available,
15 to: OCPP20ConnectorStatusEnumType.Unavailable,
16 },
17 { from: OCPP20ConnectorStatusEnumType.Available, to: OCPP20ConnectorStatusEnumType.Faulted },
18 { to: OCPP20ConnectorStatusEnumType.Unavailable },
19 {
20 from: OCPP20ConnectorStatusEnumType.Unavailable,
21 to: OCPP20ConnectorStatusEnumType.Available,
22 },
23 // {
24 // from: OCPP20ConnectorStatusEnumType.Unavailable,
25 // to: OCPP20ConnectorStatusEnumType.Unavailable,
26 // },
27 { from: OCPP20ConnectorStatusEnumType.Unavailable, to: OCPP20ConnectorStatusEnumType.Faulted },
28 { to: OCPP20ConnectorStatusEnumType.Faulted },
29 { from: OCPP20ConnectorStatusEnumType.Faulted, to: OCPP20ConnectorStatusEnumType.Available },
30 { from: OCPP20ConnectorStatusEnumType.Faulted, to: OCPP20ConnectorStatusEnumType.Unavailable },
31 // { from: OCPP20ConnectorStatusEnumType.Faulted, to: OCPP20ConnectorStatusEnumType.Faulted },
4cf856f0 32 ]);
48b75072 33
4cf856f0 34 static readonly ConnectorStatusTransitions: Readonly<Transition[]> = Object.freeze([
48b75072
JB
35 { to: OCPP20ConnectorStatusEnumType.Available },
36 // { from: OCPP20ConnectorStatusEnumType.Available, to: OCPP20ConnectorStatusEnumType.Available },
37 { from: OCPP20ConnectorStatusEnumType.Available, to: OCPP20ConnectorStatusEnumType.Occupied },
38 { from: OCPP20ConnectorStatusEnumType.Available, to: OCPP20ConnectorStatusEnumType.Reserved },
39 {
40 from: OCPP20ConnectorStatusEnumType.Available,
41 to: OCPP20ConnectorStatusEnumType.Unavailable,
42 },
43 { from: OCPP20ConnectorStatusEnumType.Available, to: OCPP20ConnectorStatusEnumType.Faulted },
44 // { to: OCPP20ConnectorStatusEnumType.Occupied },
45 { from: OCPP20ConnectorStatusEnumType.Occupied, to: OCPP20ConnectorStatusEnumType.Available },
46 // { from: OCPP20ConnectorStatusEnumType.Occupied, to: OCPP20ConnectorStatusEnumType.Occupied },
47 // { from: OCPP20ConnectorStatusEnumType.Occupied, to: OCPP20ConnectorStatusEnumType.Reserved },
48 { from: OCPP20ConnectorStatusEnumType.Occupied, to: OCPP20ConnectorStatusEnumType.Unavailable },
49 { from: OCPP20ConnectorStatusEnumType.Occupied, to: OCPP20ConnectorStatusEnumType.Faulted },
50 // { to: OCPP20ConnectorStatusEnumType.Reserved },
51 { from: OCPP20ConnectorStatusEnumType.Reserved, to: OCPP20ConnectorStatusEnumType.Available },
52 { from: OCPP20ConnectorStatusEnumType.Reserved, to: OCPP20ConnectorStatusEnumType.Occupied },
53 // { from: OCPP20ConnectorStatusEnumType.Reserved, to: OCPP20ConnectorStatusEnumType.Reserved },
54 { from: OCPP20ConnectorStatusEnumType.Reserved, to: OCPP20ConnectorStatusEnumType.Unavailable },
55 { from: OCPP20ConnectorStatusEnumType.Reserved, to: OCPP20ConnectorStatusEnumType.Faulted },
56 { to: OCPP20ConnectorStatusEnumType.Unavailable },
57 {
58 from: OCPP20ConnectorStatusEnumType.Unavailable,
59 to: OCPP20ConnectorStatusEnumType.Available,
60 },
61 { from: OCPP20ConnectorStatusEnumType.Unavailable, to: OCPP20ConnectorStatusEnumType.Occupied },
62 // { from: OCPP20ConnectorStatusEnumType.Unavailable, to: OCPP20ConnectorStatusEnumType.Reserved },
63 // { from: OCPP20ConnectorStatusEnumType.Unavailable, to: OCPP20ConnectorStatusEnumType.Unavailable },
64 { from: OCPP20ConnectorStatusEnumType.Unavailable, to: OCPP20ConnectorStatusEnumType.Faulted },
65 { to: OCPP20ConnectorStatusEnumType.Faulted },
66 { from: OCPP20ConnectorStatusEnumType.Faulted, to: OCPP20ConnectorStatusEnumType.Available },
67 { from: OCPP20ConnectorStatusEnumType.Faulted, to: OCPP20ConnectorStatusEnumType.Occupied },
68 { from: OCPP20ConnectorStatusEnumType.Faulted, to: OCPP20ConnectorStatusEnumType.Reserved },
69 { from: OCPP20ConnectorStatusEnumType.Faulted, to: OCPP20ConnectorStatusEnumType.Unavailable },
70 // { from: OCPP20ConnectorStatusEnumType.Faulted, to: OCPP20ConnectorStatusEnumType.Faulted },
4cf856f0 71 ]);
48b75072 72}