logPrefix
} from './ConfigurationUtils.js'
import { Constants } from './Constants.js'
-import { hasOwnProp, isCFEnvironment, isUndefined, once } from './Utils.js'
+import { hasOwnProp, isCFEnvironment, once } from './Utils.js'
import {
ApplicationProtocol,
type ConfigurationData,
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
export class Configuration {
- public static configurationChangeCallback: () => Promise<void>
+ public static configurationChangeCallback?: () => Promise<void>
private static readonly configurationFile = join(
dirname(fileURLToPath(import.meta.url)),
public static getSupervisionUrls (): string | string[] | undefined {
if (
- !isUndefined(
- Configuration.getConfigurationData()?.['supervisionURLs' as keyof ConfigurationData]
- )
+ Configuration.getConfigurationData()?.['supervisionURLs' as keyof ConfigurationData] !==
+ undefined
) {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
Configuration.getConfigurationData()!.supervisionUrls = Configuration.getConfigurationData()![
}
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:
+ default:
+ storageConfiguration = {
+ enabled: false,
+ type: StorageType.JSON_FILE,
+ uri: getDefaultPerformanceStorageUri(StorageType.JSON_FILE)
+ }
+ 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"
)
- !isUndefined(
- Configuration.getConfigurationData()?.['stationTemplateURLs' as keyof ConfigurationData]
- ) &&
+ Configuration.getConfigurationData()?.['stationTemplateURLs' as keyof ConfigurationData] !==
+ undefined &&
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
(Configuration.getConfigurationData()!.stationTemplateUrls =
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
] as StationTemplateUrl[])
Configuration.getConfigurationData()?.stationTemplateUrls.forEach(
(stationTemplateUrl: StationTemplateUrl) => {
- if (!isUndefined(stationTemplateUrl?.['numberOfStation' as keyof StationTemplateUrl])) {
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
+ if (stationTemplateUrl['numberOfStation' as keyof StationTemplateUrl] !== undefined) {
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 &&
- !isUndefined(
- Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData]
- ) &&
- !isUndefined(
- (
- Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData] as Record<
- string,
- unknown
- >
- )?.[key]
- )
+ Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData] !==
+ undefined &&
+ (
+ Configuration.getConfigurationData()?.[sectionName as keyof ConfigurationData] as Record<
+ string,
+ unknown
+ >
+ )[key] !== undefined
) {
console.error(
`${chalk.green(logPrefix())} ${chalk.red(
)}`
)
} else if (
- !isUndefined(Configuration.getConfigurationData()?.[key as keyof ConfigurationData])
+ Configuration.getConfigurationData()?.[key as keyof ConfigurationData] !== undefined
) {
console.error(
`${chalk.green(logPrefix())} ${chalk.red(
)
delete Configuration.configurationData
Configuration.configurationSectionCache.clear()
- if (!isUndefined(Configuration.configurationChangeCallback)) {
+ if (Configuration.configurationChangeCallback !== undefined) {
Configuration.configurationChangeCallback()
- .catch((error) => {
+ .catch(error => {
throw typeof error === 'string' ? new Error(error) : error
})
.finally(() => {