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',
private constructor() {
this.lruCache = new LRUCache<string, CacheValueType>(
Bootstrap.getInstance().numberOfChargingStationTemplates +
- Bootstrap.getInstance().numberOfChargingStations
+ Bootstrap.getInstance().numberOfChargingStations,
);
}
}
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;
}
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;
}
}
private isChargingStationConfigurationCacheable(
- chargingStationConfiguration: ChargingStationConfiguration
+ chargingStationConfiguration: ChargingStationConfiguration,
): boolean {
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
+ 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
);
}
}