feat: allow to provision number of stations by template
[e-mobility-charging-stations-simulator.git] / src / charging-station / SharedLRUCache.ts
index b2a90e0ff16438057a9e3fb045b79dacf68f4c5c..0da4558d4d46f4c4bd3d98f92eb2a7677856517d 100644 (file)
@@ -1,7 +1,8 @@
 import { LRUMapWithDelete as LRUCache } from 'mnemonist'
+import { isEmpty } from 'rambda'
 
 import type { ChargingStationConfiguration, ChargingStationTemplate } from '../types/index.js'
-import { isEmptyObject, isNotEmptyArray, isNotEmptyString } from '../utils/index.js'
+import { isNotEmptyArray, isNotEmptyString } from '../utils/index.js'
 import { Bootstrap } from './Bootstrap.js'
 
 enum CacheType {
@@ -18,7 +19,8 @@ export class SharedLRUCache {
   private constructor () {
     this.lruCache = new LRUCache<string, CacheValueType>(
       Bootstrap.getInstance().numberOfChargingStationTemplates +
-        Bootstrap.getInstance().numberOfConfiguredChargingStations
+        Bootstrap.getInstance().numberOfConfiguredChargingStations +
+        Bootstrap.getInstance().numberOfProvisionedChargingStations
     )
   }
 
@@ -116,8 +118,8 @@ export class SharedLRUCache {
       chargingStationConfiguration.automaticTransactionGenerator != null &&
       chargingStationConfiguration.configurationHash != null &&
       isNotEmptyArray(chargingStationConfiguration.configurationKey) &&
-      !isEmptyObject(chargingStationConfiguration.stationInfo) &&
-      !isEmptyObject(chargingStationConfiguration.automaticTransactionGenerator) &&
+      !isEmpty(chargingStationConfiguration.stationInfo) &&
+      !isEmpty(chargingStationConfiguration.automaticTransactionGenerator) &&
       isNotEmptyString(chargingStationConfiguration.configurationHash)
     )
   }