From 58012bcb63273480005bd42a80842d636ade3ae5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sun, 29 Mar 2026 12:56:29 +0200 Subject: [PATCH] refactor: simplify getNumberOfReservableConnectors using iterateConnectors Replace standalone getNumberOfReservableConnectors helper with inline iterateConnectors(true).reduce(), matching the pattern already used by getNumberOfConnectors and getNumberOfRunningTransactions. Remove the now-unused helper from Helpers.ts. --- src/charging-station/ChargingStation.ts | 17 +++++++---------- src/charging-station/Helpers.ts | 15 --------------- 2 files changed, 7 insertions(+), 25 deletions(-) diff --git a/src/charging-station/ChargingStation.ts b/src/charging-station/ChargingStation.ts index a1b145a8..a14addfb 100644 --- a/src/charging-station/ChargingStation.ts +++ b/src/charging-station/ChargingStation.ts @@ -133,7 +133,6 @@ import { getIdTagsFile, getMaxNumberOfEvses, getMessageTypeString, - getNumberOfReservableConnectors, getPhaseRotationValue, hasFeatureProfile, hasReservationExpired, @@ -1425,15 +1424,13 @@ export class ChargingStation extends EventEmitter { } private getNumberOfReservableConnectors (): number { - let numberOfReservableConnectors = 0 - if (this.hasEvses) { - for (const evseStatus of this.evses.values()) { - numberOfReservableConnectors += getNumberOfReservableConnectors(evseStatus.connectors) - } - } else { - numberOfReservableConnectors = getNumberOfReservableConnectors(this.connectors) - } - return numberOfReservableConnectors - this.getNumberOfReservationsOnConnectorZero() + return ( + this.iterateConnectors(true).reduce( + (count, { connectorStatus }) => + connectorStatus.status === ConnectorStatusEnum.Available ? count + 1 : count, + 0 + ) - this.getNumberOfReservationsOnConnectorZero() + ) } private getNumberOfReservationsOnConnectorZero (): number { diff --git a/src/charging-station/Helpers.ts b/src/charging-station/Helpers.ts index 0f498689..f162d7c4 100644 --- a/src/charging-station/Helpers.ts +++ b/src/charging-station/Helpers.ts @@ -159,21 +159,6 @@ export const removeExpiredReservations = async ( } } -export const getNumberOfReservableConnectors = ( - connectors: Map -): number => { - let numberOfReservableConnectors = 0 - for (const [connectorId, connectorStatus] of connectors) { - if (connectorId === 0) { - continue - } - if (connectorStatus.status === ConnectorStatusEnum.Available) { - ++numberOfReservableConnectors - } - } - return numberOfReservableConnectors -} - export const getHashId = (index: number, stationTemplate: ChargingStationTemplate): string => { const chargingStationInfo = { chargePointModel: stationTemplate.chargePointModel, -- 2.53.0