1 import { Utils
} from
'./Utils';
2 import type { ChargingStation
} from
'../charging-station';
4 ChargingStationAutomaticTransactionGeneratorConfiguration
,
6 EvseStatusConfiguration
,
10 export const buildChargingStationAutomaticTransactionGeneratorConfiguration
= (
11 chargingStation
: ChargingStation
12 ): ChargingStationAutomaticTransactionGeneratorConfiguration
=> {
14 automaticTransactionGenerator
: chargingStation
.getAutomaticTransactionGeneratorConfiguration(),
15 ...(!Utils
.isNullOrUndefined(
16 chargingStation
.automaticTransactionGenerator
?.connectorsStatus
18 automaticTransactionGeneratorStatuses
: [
19 ...chargingStation
.automaticTransactionGenerator
.connectorsStatus
.values(),
25 export const buildConnectorsStatus
= (chargingStation
: ChargingStation
): ConnectorStatus
[] => {
26 return [...chargingStation
.connectors
.values()].map(
27 // eslint-disable-next-line @typescript-eslint/no-unused-vars
28 ({ transactionSetInterval
, ...connectorStatusRest
}) => connectorStatusRest
32 export const enum OutputFormat
{
33 configuration
= 'configuration',
37 export const buildEvsesStatus
= (
38 chargingStation
: ChargingStation
,
39 outputFormat
: OutputFormat
= OutputFormat
.configuration
40 ): (EvseStatusWorkerType
| EvseStatusConfiguration
)[] => {
41 return [...chargingStation
.evses
.values()].map((evseStatus
) => {
42 const connectorsStatus
= [...evseStatus
.connectors
.values()].map(
43 // eslint-disable-next-line @typescript-eslint/no-unused-vars
44 ({ transactionSetInterval
, ...connectorStatusRest
}) => connectorStatusRest
46 let status: EvseStatusConfiguration
;
47 switch (outputFormat
) {
48 case OutputFormat
.worker
:
51 connectors
: connectorsStatus
,
53 case OutputFormat
.configuration
:
58 delete (status as EvseStatusWorkerType
).connectors
;