X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FMessageChannelUtils.ts;h=f3008b50d117b675cfeec772a8b90518669a998d;hb=bc0f4d8f4973f36baa3f468848fe4d7af25c9a9c;hp=06054d5e80ef3d2787831c0210b6a9e161ff2d1a;hpb=179ed3677e63ff8cc9c49acb55b5d6330ee3802b;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/MessageChannelUtils.ts b/src/utils/MessageChannelUtils.ts index 06054d5e..f3008b50 100644 --- a/src/utils/MessageChannelUtils.ts +++ b/src/utils/MessageChannelUtils.ts @@ -12,62 +12,54 @@ import { type Statistics, } from '../types'; -export class MessageChannelUtils { - private constructor() { - // This is intentional - } +export const buildStartedMessage = ( + chargingStation: ChargingStation, +): ChargingStationWorkerMessage => { + return { + event: ChargingStationWorkerMessageEvents.started, + data: buildChargingStationDataPayload(chargingStation), + }; +}; - public static buildStartedMessage( - chargingStation: ChargingStation - ): ChargingStationWorkerMessage { - return { - id: ChargingStationWorkerMessageEvents.started, - data: MessageChannelUtils.buildChargingStationDataPayload(chargingStation), - }; - } +export const buildStoppedMessage = ( + chargingStation: ChargingStation, +): ChargingStationWorkerMessage => { + return { + event: ChargingStationWorkerMessageEvents.stopped, + data: buildChargingStationDataPayload(chargingStation), + }; +}; - public static buildStoppedMessage( - chargingStation: ChargingStation - ): ChargingStationWorkerMessage { - return { - id: ChargingStationWorkerMessageEvents.stopped, - data: MessageChannelUtils.buildChargingStationDataPayload(chargingStation), - }; - } +export const buildUpdatedMessage = ( + chargingStation: ChargingStation, +): ChargingStationWorkerMessage => { + return { + event: ChargingStationWorkerMessageEvents.updated, + data: buildChargingStationDataPayload(chargingStation), + }; +}; - public static buildUpdatedMessage( - chargingStation: ChargingStation - ): ChargingStationWorkerMessage { - return { - id: ChargingStationWorkerMessageEvents.updated, - data: MessageChannelUtils.buildChargingStationDataPayload(chargingStation), - }; - } +export const buildPerformanceStatisticsMessage = ( + statistics: Statistics, +): ChargingStationWorkerMessage => { + return { + event: ChargingStationWorkerMessageEvents.performanceStatistics, + data: statistics, + }; +}; - public static buildPerformanceStatisticsMessage( - statistics: Statistics - ): ChargingStationWorkerMessage { - return { - id: ChargingStationWorkerMessageEvents.performanceStatistics, - data: statistics, - }; - } - - private static buildChargingStationDataPayload( - chargingStation: ChargingStation - ): ChargingStationData { - return { - started: chargingStation.started, - stationInfo: chargingStation.stationInfo, - connectors: buildConnectorsStatus(chargingStation), - evses: buildEvsesStatus(chargingStation, OutputFormat.ipc), - ocppConfiguration: chargingStation.ocppConfiguration, - wsState: chargingStation?.wsConnection?.readyState, - bootNotificationResponse: chargingStation.bootNotificationResponse, - ...(chargingStation.automaticTransactionGenerator && { - automaticTransactionGenerator: - buildChargingStationAutomaticTransactionGeneratorConfiguration(chargingStation), - }), - }; - } -} +const buildChargingStationDataPayload = (chargingStation: ChargingStation): ChargingStationData => { + return { + started: chargingStation.started, + stationInfo: chargingStation.stationInfo, + connectors: buildConnectorsStatus(chargingStation), + evses: buildEvsesStatus(chargingStation, OutputFormat.worker), + ocppConfiguration: chargingStation.ocppConfiguration!, + wsState: chargingStation?.wsConnection?.readyState, + bootNotificationResponse: chargingStation.bootNotificationResponse, + ...(chargingStation.automaticTransactionGenerator && { + automaticTransactionGenerator: + buildChargingStationAutomaticTransactionGeneratorConfiguration(chargingStation), + }), + }; +};