Linter fixes
[e-mobility-charging-stations-simulator.git] / src / utils / FileUtils.ts
index c61ff8f4f8d245a680b8b429ec5db6d4668fcb58..0efccbc3c8ceeadf52ceaae6f2b0c83b1264e1c5 100644 (file)
@@ -1,24 +1,29 @@
-import { JsonObject, JsonType } from '../types/JsonType';
+import fs from 'fs';
 
-import { EmptyObject } from '../types/EmptyObject';
-import { FileType } from '../types/FileType';
-import { HandleErrorParams } from '../types/Error';
-import Utils from './Utils';
 import chalk from 'chalk';
-import fs from 'fs';
+
 import logger from './Logger';
+import Utils from './Utils';
+import type { EmptyObject } from '../types/EmptyObject';
+import type { HandleErrorParams } from '../types/Error';
+import type { FileType } from '../types/FileType';
+import type { JsonType } from '../types/JsonType';
 
 export default class FileUtils {
-  static watchJsonFile<T extends JsonObject | JsonType>(
+  private constructor() {
+    // This is intentional
+  }
+
+  public static watchJsonFile<T extends JsonType>(
     logPrefix: string,
     fileType: FileType,
     file: string,
-    attribute?: T,
+    refreshedVariable?: T,
     listener: fs.WatchListener<string> = (event, filename) => {
       if (filename && event === 'change') {
         try {
           logger.debug(logPrefix + ' ' + fileType + ' file ' + file + ' have changed, reload');
-          attribute && (attribute = JSON.parse(fs.readFileSync(file, 'utf8')) as T);
+          refreshedVariable && (refreshedVariable = JSON.parse(fs.readFileSync(file, 'utf8')) as T);
         } catch (error) {
           FileUtils.handleFileException(logPrefix, fileType, file, error as NodeJS.ErrnoException, {
             throwError: false,
@@ -26,10 +31,10 @@ export default class FileUtils {
         }
       }
     }
-  ) {
+  ): fs.FSWatcher {
     if (file) {
       try {
-        fs.watch(file, listener);
+        return fs.watch(file, listener);
       } catch (error) {
         FileUtils.handleFileException(logPrefix, fileType, file, error as NodeJS.ErrnoException, {
           throwError: false,
@@ -40,7 +45,7 @@ export default class FileUtils {
     }
   }
 
-  static handleFileException(
+  public static handleFileException(
     logPrefix: string,
     fileType: FileType,
     file: string,
@@ -55,7 +60,7 @@ export default class FileUtils {
           error
         );
       } else {
-        logger.warn(prefix + fileType + ' file ' + file + ' not found: %j', error);
+        logger.warn(prefix + fileType + ' file ' + file + ' not found:', error);
       }
     } else if (error.code === 'EEXIST') {
       if (params?.consoleOut) {
@@ -64,7 +69,7 @@ export default class FileUtils {
           error
         );
       } else {
-        logger.warn(prefix + fileType + ' file ' + file + ' already exists: %j', error);
+        logger.warn(prefix + fileType + ' file ' + file + ' already exists:', error);
       }
     } else if (error.code === 'EACCES') {
       if (params?.consoleOut) {
@@ -73,7 +78,7 @@ export default class FileUtils {
           error
         );
       } else {
-        logger.warn(prefix + fileType + ' file ' + file + ' access denied: %j', error);
+        logger.warn(prefix + fileType + ' file ' + file + ' access denied:', error);
       }
     } else {
       if (params?.consoleOut) {
@@ -82,7 +87,7 @@ export default class FileUtils {
           error
         );
       } else {
-        logger.warn(prefix + fileType + ' file ' + file + ' error: %j', error);
+        logger.warn(prefix + fileType + ' file ' + file + ' error:', error);
       }
       if (params?.throwError) {
         throw error;