X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FSharedLRUCache.ts;h=49c06e90e53cb825433754b3e4a384df956631c4;hb=b8cede3a125c147591da708b8b012254f98ecb07;hp=e235c51d1f930a764c1e2ef8198b792711254b31;hpb=1895299db899eb53db7fb1615b82624f806017e8;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/SharedLRUCache.ts b/src/charging-station/SharedLRUCache.ts index e235c51d..49c06e90 100644 --- a/src/charging-station/SharedLRUCache.ts +++ b/src/charging-station/SharedLRUCache.ts @@ -1,8 +1,8 @@ import LRUCache from 'mnemonist/lru-map-with-delete'; -import type { ChargingStationConfiguration } from '../types/ChargingStationConfiguration'; -import type { ChargingStationTemplate } from '../types/ChargingStationTemplate'; -import Utils from '../utils/Utils'; +import { Bootstrap } from './internal'; +import type { ChargingStationConfiguration, ChargingStationTemplate } from '../types'; +import { Utils } from '../utils'; enum CacheType { CHARGING_STATION_TEMPLATE = 'chargingStationTemplate', @@ -11,12 +11,15 @@ enum CacheType { type CacheableType = ChargingStationTemplate | ChargingStationConfiguration; -export default class SharedLRUCache { +export class SharedLRUCache { private static instance: SharedLRUCache | null = null; private readonly lruCache: LRUCache; private constructor() { - this.lruCache = new LRUCache(1000); + this.lruCache = new LRUCache( + Bootstrap.getInstance().numberOfChargingStationTemplates + + Bootstrap.getInstance().numberOfChargingStations + ); } public static getInstance(): SharedLRUCache { @@ -109,9 +112,9 @@ export default class SharedLRUCache { Utils.isNullOrUndefined(chargingStationConfiguration?.configurationKey) === false && Utils.isNullOrUndefined(chargingStationConfiguration?.stationInfo) === false && Utils.isNullOrUndefined(chargingStationConfiguration?.configurationHash) === false && - Utils.isEmptyArray(chargingStationConfiguration?.configurationKey) === false && + Utils.isNotEmptyArray(chargingStationConfiguration?.configurationKey) === true && Utils.isEmptyObject(chargingStationConfiguration?.stationInfo) === false && - Utils.isEmptyString(chargingStationConfiguration?.configurationHash) === false + Utils.isNotEmptyString(chargingStationConfiguration?.configurationHash) === true ); } }