1 import type { ChargingStation
} from
'./internal';
3 type ChargingStationData
,
4 type ChargingStationWorkerMessage
,
5 ChargingStationWorkerMessageEvents
,
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
.performanceStatistics
,
50 private static buildChargingStationDataPayload(
51 chargingStation
: ChargingStation
52 ): ChargingStationData
{
54 started
: chargingStation
.started
,
55 stationInfo
: chargingStation
.stationInfo
,
56 connectors
: [...chargingStation
.connectors
.values()].map(
57 // eslint-disable-next-line @typescript-eslint/no-unused-vars
58 ({ transactionSetInterval
, ...connectorStatusRest
}) => connectorStatusRest
60 ocppConfiguration
: chargingStation
.ocppConfiguration
,
61 wsState
: chargingStation
?.wsConnection
?.readyState
,
62 bootNotificationResponse
: chargingStation
.bootNotificationResponse
,
63 ...(chargingStation
.automaticTransactionGenerator
&& {
64 automaticTransactionGenerator
: {
65 automaticTransactionGenerator
:
66 chargingStation
.automaticTransactionGenerator
.configuration
,
67 automaticTransactionGeneratorStatuses
: [
68 ...chargingStation
.automaticTransactionGenerator
.connectorsStatus
.values(),