]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commitdiff
refactor: simplify getNumberOfReservableConnectors using iterateConnectors
authorJérôme Benoit <jerome.benoit@sap.com>
Sun, 29 Mar 2026 10:56:29 +0000 (12:56 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Sun, 29 Mar 2026 10:56:29 +0000 (12:56 +0200)
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
src/charging-station/Helpers.ts

index a1b145a8b9304058aac8070f9fe57f8e63ccbda7..a14addfb67eca7ac924641fc6684a1c4663ebbf4 100644 (file)
@@ -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 {
index 0f49868954e56cba112d6557fd28291a3bf188a3..f162d7c41f79450655e8c627cd547b7735ead6e8 100644 (file)
@@ -159,21 +159,6 @@ export const removeExpiredReservations = async (
   }
 }
 
-export const getNumberOfReservableConnectors = (
-  connectors: Map<number, ConnectorStatus>
-): 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,