-import LRUCache from 'mnemonist/lru-map-with-delete';
+import LRUCache from 'mnemonist/lru-map-with-delete.js';
import { Bootstrap } from './internal';
import type { ChargingStationConfiguration, ChargingStationTemplate } from '../types';
import { Utils } from '../utils';
enum CacheType {
- CHARGING_STATION_TEMPLATE = 'chargingStationTemplate',
- CHARGING_STATION_CONFIGURATION = 'chargingStationConfiguration',
+ 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<string, CacheableType>;
+ private readonly lruCache: LRUCache<string, CacheValueType>;
private constructor() {
- this.lruCache = new LRUCache<string, CacheableType>(
+ this.lruCache = new LRUCache<string, CacheValueType>(
Bootstrap.getInstance().numberOfChargingStationTemplates +
Bootstrap.getInstance().numberOfChargingStations
);
}
private getChargingStationConfigurationKey(hash: string): string {
- return `${CacheType.CHARGING_STATION_CONFIGURATION}${hash}`;
+ return `${CacheType.chargingStationConfiguration}${hash}`;
}
private getChargingStationTemplateKey(hash: string): string {
- return `${CacheType.CHARGING_STATION_TEMPLATE}${hash}`;
+ return `${CacheType.chargingStationTemplate}${hash}`;
}
private has(key: string): boolean {
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);
}
return (
Utils.isNullOrUndefined(chargingStationConfiguration?.configurationKey) === false &&
Utils.isNullOrUndefined(chargingStationConfiguration?.stationInfo) === false &&
+ Utils.isNullOrUndefined(chargingStationConfiguration?.automaticTransactionGenerator) ===
+ false &&
Utils.isNullOrUndefined(chargingStationConfiguration?.configurationHash) === false &&
Utils.isNotEmptyArray(chargingStationConfiguration?.configurationKey) === true &&
Utils.isEmptyObject(chargingStationConfiguration?.stationInfo) === false &&
+ Utils.isEmptyObject(chargingStationConfiguration?.automaticTransactionGenerator) === false &&
Utils.isNotEmptyString(chargingStationConfiguration?.configurationHash) === true
);
}