X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FChargingStationConfigurationUtils.ts;h=34d859c787eb54c4a87cd8d30ebdfb8d51fb88d0;hb=d116b9b5f418a020bc6f971580a23a04cdf8497a;hp=3549fa7b634efaafc893def41ef74a68be149444;hpb=179ed3677e63ff8cc9c49acb55b5d6330ee3802b;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/ChargingStationConfigurationUtils.ts b/src/utils/ChargingStationConfigurationUtils.ts index 3549fa7b..34d859c7 100644 --- a/src/utils/ChargingStationConfigurationUtils.ts +++ b/src/utils/ChargingStationConfigurationUtils.ts @@ -1,21 +1,20 @@ -import { Utils } from './Utils'; +import { isNullOrUndefined } from './Utils'; import type { ChargingStation } from '../charging-station'; import type { ChargingStationAutomaticTransactionGeneratorConfiguration, ConnectorStatus, EvseStatusConfiguration, + EvseStatusWorkerType, } from '../types'; export const buildChargingStationAutomaticTransactionGeneratorConfiguration = ( - chargingStation: ChargingStation + chargingStation: ChargingStation, ): ChargingStationAutomaticTransactionGeneratorConfiguration => { return { automaticTransactionGenerator: chargingStation.getAutomaticTransactionGeneratorConfiguration(), - ...(!Utils.isNullOrUndefined( - chargingStation.automaticTransactionGenerator?.connectorsStatus - ) && { + ...(!isNullOrUndefined(chargingStation.automaticTransactionGenerator?.connectorsStatus) && { automaticTransactionGeneratorStatuses: [ - ...chargingStation.automaticTransactionGenerator.connectorsStatus.values(), + ...chargingStation.automaticTransactionGenerator!.connectorsStatus.values(), ], }), }; @@ -24,36 +23,38 @@ export const buildChargingStationAutomaticTransactionGeneratorConfiguration = ( export const buildConnectorsStatus = (chargingStation: ChargingStation): ConnectorStatus[] => { return [...chargingStation.connectors.values()].map( // eslint-disable-next-line @typescript-eslint/no-unused-vars - ({ transactionSetInterval, ...connectorStatusRest }) => connectorStatusRest + ({ transactionSetInterval, ...connectorStatusRest }) => connectorStatusRest, ); }; export const enum OutputFormat { configuration = 'configuration', - ipc = 'ipc', + worker = 'worker', } export const buildEvsesStatus = ( chargingStation: ChargingStation, - outputFormat: OutputFormat = OutputFormat.configuration -): EvseStatusConfiguration[] => { + outputFormat: OutputFormat = OutputFormat.configuration, +): (EvseStatusWorkerType | EvseStatusConfiguration)[] => { return [...chargingStation.evses.values()].map((evseStatus) => { const connectorsStatus = [...evseStatus.connectors.values()].map( // eslint-disable-next-line @typescript-eslint/no-unused-vars - ({ transactionSetInterval, ...connectorStatusRest }) => connectorStatusRest + ({ transactionSetInterval, ...connectorStatusRest }) => connectorStatusRest, ); - if (outputFormat === OutputFormat.ipc) { - return { - ...evseStatus, - connectors: connectorsStatus, - }; - } else if (outputFormat === OutputFormat.configuration) { - const status = { - ...evseStatus, - connectorsStatus, - }; - delete status.connectors; - return status; + let status: EvseStatusConfiguration; + switch (outputFormat) { + case OutputFormat.worker: + return { + ...evseStatus, + connectors: connectorsStatus, + }; + case OutputFormat.configuration: + status = { + ...evseStatus, + connectorsStatus, + }; + delete (status as EvseStatusWorkerType).connectors; + return status; } }); };