X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FChargingStationConfigurationUtils.ts;h=0e32c7e629b28bfa3ade6eba052272130877a8ea;hb=3ccfabff44dfa406a4133a6047f13637d47b52c5;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..0e32c7e6 100644 --- a/src/utils/ChargingStationConfigurationUtils.ts +++ b/src/utils/ChargingStationConfigurationUtils.ts @@ -1,59 +1,58 @@ -import { Utils } from './Utils'; -import type { ChargingStation } from '../charging-station'; +import type { ChargingStation } from '../charging-station/index.js' import type { ChargingStationAutomaticTransactionGeneratorConfiguration, ConnectorStatus, EvseStatusConfiguration, -} from '../types'; + EvseStatusWorkerType +} from '../types/index.js' export const buildChargingStationAutomaticTransactionGeneratorConfiguration = ( chargingStation: ChargingStation ): ChargingStationAutomaticTransactionGeneratorConfiguration => { return { automaticTransactionGenerator: chargingStation.getAutomaticTransactionGeneratorConfiguration(), - ...(!Utils.isNullOrUndefined( - chargingStation.automaticTransactionGenerator?.connectorsStatus - ) && { + ...(chargingStation.automaticTransactionGenerator?.connectorsStatus != null && { automaticTransactionGeneratorStatuses: [ - ...chargingStation.automaticTransactionGenerator.connectorsStatus.values(), - ], - }), - }; -}; + ...chargingStation.automaticTransactionGenerator.connectorsStatus.values() + ] + }) + } +} export const buildConnectorsStatus = (chargingStation: ChargingStation): ConnectorStatus[] => { return [...chargingStation.connectors.values()].map( - // eslint-disable-next-line @typescript-eslint/no-unused-vars ({ transactionSetInterval, ...connectorStatusRest }) => connectorStatusRest - ); -}; + ) +} export const enum OutputFormat { configuration = 'configuration', - ipc = 'ipc', + worker = 'worker' } export const buildEvsesStatus = ( chargingStation: ChargingStation, outputFormat: OutputFormat = OutputFormat.configuration -): EvseStatusConfiguration[] => { - return [...chargingStation.evses.values()].map((evseStatus) => { +): Array => { + // eslint-disable-next-line array-callback-return + return [...chargingStation.evses.values()].map(evseStatus => { const connectorsStatus = [...evseStatus.connectors.values()].map( - // eslint-disable-next-line @typescript-eslint/no-unused-vars ({ 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 } - }); -}; + }) +}