X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FSharedLRUCache.ts;h=d55f358e18809b19e65972287330047440c3ab8b;hb=6a4032b5d8f3cbaa18d3beddcdfe9d335c1cba90;hp=3ee8cd7f7fa3a054ea5ca0410ee802d9702ad8f1;hpb=10922dcc8705fe73e4cb6b59ee0dbdc9003ecde7;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/SharedLRUCache.ts b/src/charging-station/SharedLRUCache.ts index 3ee8cd7f..d55f358e 100644 --- a/src/charging-station/SharedLRUCache.ts +++ b/src/charging-station/SharedLRUCache.ts @@ -1,24 +1,24 @@ -import LRUCache from 'mnemonist/lru-map-with-delete'; +import LRUCache from 'mnemonist/lru-map-with-delete.js'; -import { Bootstrap } from './internal'; +import { Bootstrap } from './Bootstrap'; import type { ChargingStationConfiguration, ChargingStationTemplate } from '../types'; -import { Utils } from '../utils'; +import { isEmptyObject, isNotEmptyArray, isNotEmptyString, isNullOrUndefined } from '../utils'; enum CacheType { chargingStationTemplate = 'chargingStationTemplate', chargingStationConfiguration = 'chargingStationConfiguration', } -type CacheableType = ChargingStationTemplate | ChargingStationConfiguration; +type CacheValueType = ChargingStationTemplate | ChargingStationConfiguration; export class SharedLRUCache { private static instance: SharedLRUCache | null = null; - private readonly lruCache: LRUCache; + private readonly lruCache: LRUCache; private constructor() { - this.lruCache = new LRUCache( + this.lruCache = new LRUCache( Bootstrap.getInstance().numberOfChargingStationTemplates + - Bootstrap.getInstance().numberOfChargingStations + Bootstrap.getInstance().numberOfChargingStations, ); } @@ -34,21 +34,21 @@ export class SharedLRUCache { } public setChargingStationConfiguration( - chargingStationConfiguration: ChargingStationConfiguration + chargingStationConfiguration: ChargingStationConfiguration, ): void { if (this.isChargingStationConfigurationCacheable(chargingStationConfiguration)) { this.set( - this.getChargingStationConfigurationKey(chargingStationConfiguration.configurationHash), - chargingStationConfiguration + this.getChargingStationConfigurationKey(chargingStationConfiguration.configurationHash!), + chargingStationConfiguration, ); } } public getChargingStationConfiguration( - chargingStationConfigurationHash: string + chargingStationConfigurationHash: string, ): ChargingStationConfiguration { return this.get( - this.getChargingStationConfigurationKey(chargingStationConfigurationHash) + this.getChargingStationConfigurationKey(chargingStationConfigurationHash), ) as ChargingStationConfiguration; } @@ -62,14 +62,14 @@ export class SharedLRUCache { public setChargingStationTemplate(chargingStationTemplate: ChargingStationTemplate): void { this.set( - this.getChargingStationTemplateKey(chargingStationTemplate.templateHash), - chargingStationTemplate + this.getChargingStationTemplateKey(chargingStationTemplate.templateHash!), + chargingStationTemplate, ); } public getChargingStationTemplate(chargingStationTemplateHash: string): ChargingStationTemplate { return this.get( - this.getChargingStationTemplateKey(chargingStationTemplateHash) + this.getChargingStationTemplateKey(chargingStationTemplateHash), ) as ChargingStationTemplate; } @@ -93,11 +93,11 @@ export class SharedLRUCache { return this.lruCache.has(key); } - private get(key: string): CacheableType | undefined { + private get(key: string): CacheValueType | undefined { return this.lruCache.get(key); } - private set(key: string, value: CacheableType): void { + private set(key: string, value: CacheValueType): void { this.lruCache.set(key, value); } @@ -106,15 +106,17 @@ export class SharedLRUCache { } private isChargingStationConfigurationCacheable( - chargingStationConfiguration: ChargingStationConfiguration + chargingStationConfiguration: ChargingStationConfiguration, ): boolean { return ( - Utils.isNullOrUndefined(chargingStationConfiguration?.configurationKey) === false && - Utils.isNullOrUndefined(chargingStationConfiguration?.stationInfo) === false && - Utils.isNullOrUndefined(chargingStationConfiguration?.configurationHash) === false && - Utils.isNotEmptyArray(chargingStationConfiguration?.configurationKey) === true && - Utils.isEmptyObject(chargingStationConfiguration?.stationInfo) === false && - Utils.isNotEmptyString(chargingStationConfiguration?.configurationHash) === true + isNullOrUndefined(chargingStationConfiguration?.configurationKey) === false && + isNullOrUndefined(chargingStationConfiguration?.stationInfo) === false && + isNullOrUndefined(chargingStationConfiguration?.automaticTransactionGenerator) === false && + isNullOrUndefined(chargingStationConfiguration?.configurationHash) === false && + isNotEmptyArray(chargingStationConfiguration?.configurationKey) === true && + isEmptyObject(chargingStationConfiguration.stationInfo!) === false && + isEmptyObject(chargingStationConfiguration.automaticTransactionGenerator!) === false && + isNotEmptyString(chargingStationConfiguration?.configurationHash) === true ); } }