3 buildChargingStationAutomaticTransactionGeneratorConfiguration
,
6 } from
'./ChargingStationConfigurationUtils.js'
7 import type { ChargingStation
} from
'../charging-station/index.js'
9 type ChargingStationData
,
10 type ChargingStationWorkerMessage
,
11 ChargingStationWorkerMessageEvents
,
13 } from
'../types/index.js'
15 export const buildAddedMessage
= (
16 chargingStation
: ChargingStation
17 ): ChargingStationWorkerMessage
<ChargingStationData
> => {
19 event
: ChargingStationWorkerMessageEvents
.added
,
20 data
: buildChargingStationDataPayload(chargingStation
)
24 export const buildDeletedMessage
= (
25 chargingStation
: ChargingStation
26 ): ChargingStationWorkerMessage
<ChargingStationData
> => {
28 event
: ChargingStationWorkerMessageEvents
.deleted
,
29 data
: buildChargingStationDataPayload(chargingStation
)
33 export const buildStartedMessage
= (
34 chargingStation
: ChargingStation
35 ): ChargingStationWorkerMessage
<ChargingStationData
> => {
37 event
: ChargingStationWorkerMessageEvents
.started
,
38 data
: buildChargingStationDataPayload(chargingStation
)
42 export const buildStoppedMessage
= (
43 chargingStation
: ChargingStation
44 ): ChargingStationWorkerMessage
<ChargingStationData
> => {
46 event
: ChargingStationWorkerMessageEvents
.stopped
,
47 data
: buildChargingStationDataPayload(chargingStation
)
51 export const buildUpdatedMessage
= (
52 chargingStation
: ChargingStation
53 ): ChargingStationWorkerMessage
<ChargingStationData
> => {
55 event
: ChargingStationWorkerMessageEvents
.updated
,
56 data
: buildChargingStationDataPayload(chargingStation
)
60 export const buildPerformanceStatisticsMessage
= (
61 statistics
: Statistics
62 ): ChargingStationWorkerMessage
<Statistics
> => {
64 event
: ChargingStationWorkerMessageEvents
.performanceStatistics
,
69 export const buildChargingStationDataPayload
= (
70 chargingStation
: ChargingStation
71 ): ChargingStationData
=> {
73 started
: chargingStation
.started
,
74 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
75 stationInfo
: chargingStation
.stationInfo
!,
76 connectors
: buildConnectorsStatus(chargingStation
),
77 evses
: buildEvsesStatus(chargingStation
, OutputFormat
.worker
),
78 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
79 ocppConfiguration
: chargingStation
.ocppConfiguration
!,
80 supervisionUrl
: chargingStation
.wsConnectionUrl
.href
,
81 wsState
: chargingStation
.wsConnection
?.readyState
,
82 bootNotificationResponse
: chargingStation
.bootNotificationResponse
,
83 ...(chargingStation
.automaticTransactionGenerator
!= null && {
84 automaticTransactionGenerator
:
85 buildChargingStationAutomaticTransactionGeneratorConfiguration(chargingStation
)