OutputFormat,
buildChargingStationAutomaticTransactionGeneratorConfiguration,
buildConnectorsStatus,
- buildEvsesStatus,
-} from './ChargingStationConfigurationUtils';
-import type { ChargingStation } from '../charging-station';
+ buildEvsesStatus
+} from './ChargingStationConfigurationUtils.js'
+import type { ChargingStation } from '../charging-station/index.js'
import {
type ChargingStationData,
type ChargingStationWorkerMessage,
ChargingStationWorkerMessageEvents,
- type Statistics,
-} from '../types';
+ type Statistics
+} from '../types/index.js'
-export class MessageChannelUtils {
- private constructor() {
- // This is intentional
- }
-
- public static buildStartedMessage(
- chargingStation: ChargingStation
- ): ChargingStationWorkerMessage<ChargingStationData> {
- return {
- id: ChargingStationWorkerMessageEvents.started,
- data: MessageChannelUtils.buildChargingStationDataPayload(chargingStation),
- };
+export const buildStartedMessage = (
+ chargingStation: ChargingStation
+): ChargingStationWorkerMessage<ChargingStationData> => {
+ return {
+ event: ChargingStationWorkerMessageEvents.started,
+ data: buildChargingStationDataPayload(chargingStation)
}
+}
- public static buildStoppedMessage(
- chargingStation: ChargingStation
- ): ChargingStationWorkerMessage<ChargingStationData> {
- return {
- id: ChargingStationWorkerMessageEvents.stopped,
- data: MessageChannelUtils.buildChargingStationDataPayload(chargingStation),
- };
+export const buildStoppedMessage = (
+ chargingStation: ChargingStation
+): ChargingStationWorkerMessage<ChargingStationData> => {
+ return {
+ event: ChargingStationWorkerMessageEvents.stopped,
+ data: buildChargingStationDataPayload(chargingStation)
}
+}
- public static buildUpdatedMessage(
- chargingStation: ChargingStation
- ): ChargingStationWorkerMessage<ChargingStationData> {
- return {
- id: ChargingStationWorkerMessageEvents.updated,
- data: MessageChannelUtils.buildChargingStationDataPayload(chargingStation),
- };
+export const buildUpdatedMessage = (
+ chargingStation: ChargingStation
+): ChargingStationWorkerMessage<ChargingStationData> => {
+ return {
+ event: ChargingStationWorkerMessageEvents.updated,
+ data: buildChargingStationDataPayload(chargingStation)
}
+}
- public static buildPerformanceStatisticsMessage(
- statistics: Statistics
- ): ChargingStationWorkerMessage<Statistics> {
- return {
- id: ChargingStationWorkerMessageEvents.performanceStatistics,
- data: statistics,
- };
+export const buildPerformanceStatisticsMessage = (
+ statistics: Statistics
+): ChargingStationWorkerMessage<Statistics> => {
+ return {
+ event: ChargingStationWorkerMessageEvents.performanceStatistics,
+ data: statistics
}
+}
- private static 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),
- }),
- };
+const buildChargingStationDataPayload = (chargingStation: ChargingStation): ChargingStationData => {
+ return {
+ started: chargingStation.started,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ stationInfo: chargingStation.stationInfo!,
+ connectors: buildConnectorsStatus(chargingStation),
+ evses: buildEvsesStatus(chargingStation, OutputFormat.worker),
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ ocppConfiguration: chargingStation.ocppConfiguration!,
+ wsState: chargingStation.wsConnection?.readyState,
+ bootNotificationResponse: chargingStation.bootNotificationResponse,
+ ...(chargingStation.automaticTransactionGenerator != null && {
+ automaticTransactionGenerator:
+ buildChargingStationAutomaticTransactionGeneratorConfiguration(chargingStation)
+ })
}
}