import { fileURLToPath } from 'node:url'
import chalk from 'chalk'
-import merge from 'just-merge'
+import { mergeDeepRight } from 'rambda'
import {
buildPerformanceUriFilePath,
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()![
}
}
if (hasOwnProp(Configuration.getConfigurationData(), ConfigurationSection.uiServer)) {
- uiServerConfiguration = merge<UIServerConfiguration>(
+ uiServerConfiguration = mergeDeepRight(
uiServerConfiguration,
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
Configuration.getConfigurationData()!.uiServer!
}
private static buildPerformanceStorageSection (): StorageConfiguration {
- let storageConfiguration: StorageConfiguration = {
- enabled: false,
- type: StorageType.JSON_FILE,
- uri: getDefaultPerformanceStorageUri(StorageType.JSON_FILE)
+ let storageConfiguration: StorageConfiguration
+ switch (Configuration.getConfigurationData()?.performanceStorage?.type) {
+ case StorageType.SQLITE:
+ storageConfiguration = {
+ enabled: false,
+ type: StorageType.SQLITE,
+ uri: getDefaultPerformanceStorageUri(StorageType.SQLITE)
+ }
+ break
+ case StorageType.JSON_FILE:
+ 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 = {
...storageConfiguration,
...Configuration.getConfigurationData()?.performanceStorage,
- ...(Configuration.getConfigurationData()?.performanceStorage?.type ===
- StorageType.JSON_FILE &&
+ ...((Configuration.getConfigurationData()?.performanceStorage?.type ===
+ StorageType.JSON_FILE ||
+ Configuration.getConfigurationData()?.performanceStorage?.type === StorageType.SQLITE) &&
Configuration.getConfigurationData()?.performanceStorage?.uri != null && {
uri: buildPerformanceUriFilePath(
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
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
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`
): 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(
}`
)}`
)
- } 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${
if (
!Configuration.configurationFileReloading &&
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- filename!.trim()!.length > 0 &&
+ filename!.trim().length > 0 &&
event === 'change'
) {
Configuration.configurationFileReloading = true
)
delete Configuration.configurationData
Configuration.configurationSectionCache.clear()
- if (Configuration.configurationChangeCallback !== undefined) {
+ if (Configuration.configurationChangeCallback != null) {
Configuration.configurationChangeCallback()
- .catch((error) => {
+ .catch(error => {
throw typeof error === 'string' ? new Error(error) : error
})
.finally(() => {