fix: strict number check
[e-mobility-charging-stations-simulator.git] / src / utils / FileUtils.ts
index 87a8733b08f7e9108eb39f81b4d809200fb016d6..328687b2dcdc21f46868d538cb110c0aa9248e7a 100644 (file)
@@ -1,42 +1,40 @@
-import fs from 'fs';
+import fs from 'node:fs';
 
 import chalk from 'chalk';
 
-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';
+// import { Utils, logger } from './internal';
+import { logger } from './Logger';
+import { Utils } from './Utils';
+import type { EmptyObject, FileType, HandleErrorParams, JsonType } from '../types';
 
-export default class FileUtils {
+export class FileUtils {
   private constructor() {
     // This is intentional
   }
 
   public static watchJsonFile<T extends JsonType>(
-    logPrefix: string,
-    fileType: FileType,
     file: string,
+    fileType: FileType,
+    logPrefix: string,
     refreshedVariable?: T,
     listener: fs.WatchListener<string> = (event, filename) => {
-      if (filename && event === 'change') {
+      if (Utils.isNotEmptyString(filename) && event === 'change') {
         try {
-          logger.debug(`${logPrefix} ${fileType} file ${file} + ' have changed, reload'`);
+          logger.debug(`${logPrefix} ${fileType} file ${file} have changed, reload`);
           refreshedVariable && (refreshedVariable = JSON.parse(fs.readFileSync(file, 'utf8')) as T);
         } catch (error) {
-          FileUtils.handleFileException(logPrefix, fileType, file, error as NodeJS.ErrnoException, {
+          FileUtils.handleFileException(file, fileType, error as NodeJS.ErrnoException, logPrefix, {
             throwError: false,
           });
         }
       }
     }
-  ): fs.FSWatcher {
-    if (file) {
+  ): fs.FSWatcher | undefined {
+    if (Utils.isNotEmptyString(file)) {
       try {
         return fs.watch(file, listener);
       } catch (error) {
-        FileUtils.handleFileException(logPrefix, fileType, file, error as NodeJS.ErrnoException, {
+        FileUtils.handleFileException(file, fileType, error as NodeJS.ErrnoException, logPrefix, {
           throwError: false,
         });
       }
@@ -46,13 +44,13 @@ export default class FileUtils {
   }
 
   public static handleFileException(
-    logPrefix: string,
-    fileType: FileType,
     file: string,
+    fileType: FileType,
     error: NodeJS.ErrnoException,
+    logPrefix: string,
     params: HandleErrorParams<EmptyObject> = { throwError: true, consoleOut: false }
   ): void {
-    const prefix = !Utils.isEmptyString(logPrefix) ? logPrefix + ' ' : '';
+    const prefix = Utils.isNotEmptyString(logPrefix) ? `${logPrefix} ` : '';
     let logMsg: string;
     switch (error.code) {
       case 'ENOENT':