1 import { isNullOrUndefined
} 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 ...(!isNullOrUndefined(chargingStation
.automaticTransactionGenerator
?.connectorsStatus
) && {
16 automaticTransactionGeneratorStatuses
: [
17 ...chargingStation
.automaticTransactionGenerator
.connectorsStatus
.values(),
23 export const buildConnectorsStatus
= (chargingStation
: ChargingStation
): ConnectorStatus
[] => {
24 return [...chargingStation
.connectors
.values()].map(
25 // eslint-disable-next-line @typescript-eslint/no-unused-vars
26 ({ transactionSetInterval
, ...connectorStatusRest
}) => connectorStatusRest
30 export const enum OutputFormat
{
31 configuration
= 'configuration',
35 export const buildEvsesStatus
= (
36 chargingStation
: ChargingStation
,
37 outputFormat
: OutputFormat
= OutputFormat
.configuration
38 ): (EvseStatusWorkerType
| EvseStatusConfiguration
)[] => {
39 return [...chargingStation
.evses
.values()].map((evseStatus
) => {
40 const connectorsStatus
= [...evseStatus
.connectors
.values()].map(
41 // eslint-disable-next-line @typescript-eslint/no-unused-vars
42 ({ transactionSetInterval
, ...connectorStatusRest
}) => connectorStatusRest
44 let status: EvseStatusConfiguration
;
45 switch (outputFormat
) {
46 case OutputFormat
.worker
:
49 connectors
: connectorsStatus
,
51 case OutputFormat
.configuration
:
56 delete (status as EvseStatusWorkerType
).connectors
;