X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FConfiguration.ts;h=d577ded4141858bbc08213615f116fd199bfc2c8;hb=c317ae3edbd335e6dc52616df7d702c0d8419fd4;hp=06c2a5a361ad1c7e56e068485c3b0b3fac26b510;hpb=13a6f27c10768faa05acf33fd8e0637511d49e3e;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Configuration.ts b/src/utils/Configuration.ts index 06c2a5a3..d577ded4 100644 --- a/src/utils/Configuration.ts +++ b/src/utils/Configuration.ts @@ -4,7 +4,7 @@ import { env } from 'node:process' import { fileURLToPath } from 'node:url' import chalk from 'chalk' -import merge from 'just-merge' +import { mergeDeepRight } from 'rambda' import { buildPerformanceUriFilePath, @@ -18,6 +18,7 @@ import { Constants } from './Constants.js' import { hasOwnProp, isCFEnvironment, once } from './Utils.js' import { ApplicationProtocol, + ApplicationProtocolVersion, type ConfigurationData, ConfigurationSection, FileType, @@ -90,8 +91,7 @@ export class Configuration { public static getSupervisionUrls (): string | string[] | undefined { if ( - Configuration.getConfigurationData()?.['supervisionURLs' as keyof ConfigurationData] !== - undefined + Configuration.getConfigurationData()?.['supervisionURLs' as keyof ConfigurationData] != null ) { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion Configuration.getConfigurationData()!.supervisionUrls = Configuration.getConfigurationData()![ @@ -156,13 +156,14 @@ export class Configuration { let uiServerConfiguration: UIServerConfiguration = { enabled: false, type: ApplicationProtocol.WS, + version: ApplicationProtocolVersion.VERSION_11, options: { host: Constants.DEFAULT_UI_SERVER_HOST, port: Constants.DEFAULT_UI_SERVER_PORT } } if (hasOwnProp(Configuration.getConfigurationData(), ConfigurationSection.uiServer)) { - uiServerConfiguration = merge( + uiServerConfiguration = mergeDeepRight( uiServerConfiguration, // eslint-disable-next-line @typescript-eslint/no-non-null-assertion Configuration.getConfigurationData()!.uiServer! @@ -187,13 +188,19 @@ export class Configuration { } break case StorageType.JSON_FILE: - default: storageConfiguration = { enabled: false, type: StorageType.JSON_FILE, uri: getDefaultPerformanceStorageUri(StorageType.JSON_FILE) } break + case StorageType.NONE: + default: + storageConfiguration = { + enabled: true, + type: StorageType.NONE + } + break } if (hasOwnProp(Configuration.getConfigurationData(), ConfigurationSection.performanceStorage)) { storageConfiguration = { @@ -331,8 +338,8 @@ export class Configuration { undefined, "Use 'stationTemplateUrls' instead" ) - Configuration.getConfigurationData()?.['stationTemplateURLs' as keyof ConfigurationData] !== - undefined && + Configuration.getConfigurationData()?.['stationTemplateURLs' as keyof ConfigurationData] != + null && // eslint-disable-next-line @typescript-eslint/no-non-null-assertion (Configuration.getConfigurationData()!.stationTemplateUrls = // eslint-disable-next-line @typescript-eslint/no-non-null-assertion @@ -342,7 +349,7 @@ export class Configuration { Configuration.getConfigurationData()?.stationTemplateUrls.forEach( (stationTemplateUrl: StationTemplateUrl) => { // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (stationTemplateUrl['numberOfStation' as keyof StationTemplateUrl] !== undefined) { + if (stationTemplateUrl['numberOfStation' as keyof StationTemplateUrl] != null) { console.error( `${chalk.green(logPrefix())} ${chalk.red( `Deprecated configuration key 'numberOfStation' usage for template file '${stationTemplateUrl.file}' in 'stationTemplateUrls'. Use 'numberOfStations' instead` @@ -503,14 +510,13 @@ export class Configuration { ): void { if ( sectionName != null && - Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData] !== - undefined && + Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData] != null && ( Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData] as Record< string, unknown > - )[key] !== undefined + )[key] != null ) { console.error( `${chalk.green(logPrefix())} ${chalk.red( @@ -519,9 +525,7 @@ export class Configuration { }` )}` ) - } else if ( - Configuration.getConfigurationData()?.[key as keyof ConfigurationData] !== undefined - ) { + } else if (Configuration.getConfigurationData()?.[key as keyof ConfigurationData] != null) { console.error( `${chalk.green(logPrefix())} ${chalk.red( `Deprecated configuration key '${key}' usage${ @@ -571,7 +575,7 @@ export class Configuration { ) delete Configuration.configurationData Configuration.configurationSectionCache.clear() - if (Configuration.configurationChangeCallback !== undefined) { + if (Configuration.configurationChangeCallback != null) { Configuration.configurationChangeCallback() .catch(error => { throw typeof error === 'string' ? new Error(error) : error