-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
- );
-};
+ ({ transactionSetInterval, ...connectorStatus }) => connectorStatus
+ )
+}
-export const enum OutputFormat {
+export 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<EvseStatusWorkerType | EvseStatusConfiguration> => {
+ // 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;
+ ({ transactionSetInterval, ...connectorStatus }) => connectorStatus
+ )
+ 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
}
- });
-};
+ })
+}