Improve empty file name handling
authorJérôme Benoit <jerome.benoit@sap.com>
Wed, 25 Jan 2023 22:24:54 +0000 (23:24 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Wed, 25 Jan 2023 22:24:54 +0000 (23:24 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/types/FileType.ts
src/utils/Configuration.ts
src/utils/FileUtils.ts

index b464bf8b8071425c7ed7f08683a4631a715fc2a5..3781b7d9e9b22d58423782e128c70f13be467e09 100644 (file)
@@ -4,4 +4,5 @@ export enum FileType {
   ChargingStationConfiguration = 'charging station configuration',
   ChargingStationTemplate = 'charging station template',
   PerformanceRecords = 'performance records',
+  JsonSchema = 'json schema',
 }
index 1c51bbfd0d4fc0c681c8b76c165413a43b4b9d20..5df7bdc5521debb1091388c38620497fa1eee96b 100644 (file)
@@ -373,7 +373,7 @@ export default class Configuration {
   private static getConfigurationFileWatcher(): fs.FSWatcher | undefined {
     try {
       return fs.watch(Configuration.configurationFile, (event, filename): void => {
-        if (filename && event === 'change') {
+        if (filename.trim().length !== 0 && event === 'change') {
           // Nullify to force configuration file reading
           Configuration.configuration = null;
           if (!Configuration.isUndefined(Configuration.configurationChangeCallback)) {
index 2e99f52f800834435d240bb418443bf429b31711..5bb22e7d47939c5234ae97105ce7e68ed24ca7da 100644 (file)
@@ -20,7 +20,7 @@ export default class FileUtils {
     file: string,
     refreshedVariable?: T,
     listener: fs.WatchListener<string> = (event, filename) => {
-      if (filename && event === 'change') {
+      if (!Utils.isEmptyString(filename) && event === 'change') {
         try {
           logger.debug(`${logPrefix} ${fileType} file ${file} have changed, reload`);
           refreshedVariable && (refreshedVariable = JSON.parse(fs.readFileSync(file, 'utf8')) as T);
@@ -32,7 +32,7 @@ export default class FileUtils {
       }
     }
   ): fs.FSWatcher | undefined {
-    if (file) {
+    if (!Utils.isEmptyString(file)) {
       try {
         return fs.watch(file, listener);
       } catch (error) {