3 ChargingStationWorkerMessage
,
4 ChargingStationWorkerMessageEvents
,
5 } from
'../types/ChargingStationWorker';
6 import type Statistics from
'../types/Statistics';
7 import type ChargingStation from
'./ChargingStation';
9 export class MessageChannelUtils
{
10 private constructor() {
11 // This is intentional
14 public static buildStartedMessage(
15 chargingStation
: ChargingStation
16 ): ChargingStationWorkerMessage
<ChargingStationData
> {
18 id
: ChargingStationWorkerMessageEvents
.STARTED
,
19 data
: MessageChannelUtils
.buildChargingStationDataPayload(chargingStation
),
23 public static buildStoppedMessage(
24 chargingStation
: ChargingStation
25 ): ChargingStationWorkerMessage
<ChargingStationData
> {
27 id
: ChargingStationWorkerMessageEvents
.STOPPED
,
28 data
: MessageChannelUtils
.buildChargingStationDataPayload(chargingStation
),
32 public static buildUpdatedMessage(
33 chargingStation
: ChargingStation
34 ): ChargingStationWorkerMessage
<ChargingStationData
> {
36 id
: ChargingStationWorkerMessageEvents
.UPDATED
,
37 data
: MessageChannelUtils
.buildChargingStationDataPayload(chargingStation
),
41 public static buildPerformanceStatisticsMessage(
42 statistics
: Statistics
43 ): ChargingStationWorkerMessage
<Statistics
> {
45 id
: ChargingStationWorkerMessageEvents
.PERFORMANCE_STATISTICS
,
50 private static buildChargingStationDataPayload(
51 chargingStation
: ChargingStation
52 ): ChargingStationData
{
54 stationInfo
: chargingStation
.stationInfo
,
55 started
: chargingStation
.started
,
56 wsState
: chargingStation
?.wsConnection
?.readyState
,
57 bootNotificationResponse
: chargingStation
.bootNotificationResponse
,
58 connectors
: [...chargingStation
.connectors
.values()].map(
59 // eslint-disable-next-line @typescript-eslint/no-unused-vars
60 ({ transactionSetInterval
, ...connectorStatusRest
}) => connectorStatusRest
62 ...(chargingStation
.automaticTransactionGenerator
&& {
63 automaticTransactionGeneratorStatuses
: [
64 ...chargingStation
.automaticTransactionGenerator
.connectorsStatus
.values(),