build(simulator): don't preserve modules
[e-mobility-charging-stations-simulator.git] / src / utils / FileUtils.ts
index e08fb128be960b721d99645be66ea11f617419af..4e556a4bc1c3d642c8c9edecbb92049d5e880044 100644 (file)
@@ -1,10 +1,9 @@
 import fs from 'node:fs';
 
-import chalk from 'chalk';
-
+import { ErrorUtils } from './ErrorUtils';
 import { logger } from './Logger';
 import { Utils } from './Utils';
-import type { EmptyObject, FileType, HandleErrorParams, JsonType } from '../types';
+import type { FileType, JsonType } from '../types';
 
 export class FileUtils {
   private constructor() {
@@ -22,9 +21,15 @@ export class FileUtils {
           logger.debug(`${logPrefix} ${fileType} file ${file} have changed, reload`);
           refreshedVariable && (refreshedVariable = JSON.parse(fs.readFileSync(file, 'utf8')) as T);
         } catch (error) {
-          FileUtils.handleFileException(file, fileType, error as NodeJS.ErrnoException, logPrefix, {
-            throwError: false,
-          });
+          ErrorUtils.handleFileException(
+            file,
+            fileType,
+            error as NodeJS.ErrnoException,
+            logPrefix,
+            {
+              throwError: false,
+            }
+          );
         }
       }
     }
@@ -33,7 +38,7 @@ export class FileUtils {
       try {
         return fs.watch(file, listener);
       } catch (error) {
-        FileUtils.handleFileException(file, fileType, error as NodeJS.ErrnoException, logPrefix, {
+        ErrorUtils.handleFileException(file, fileType, error as NodeJS.ErrnoException, logPrefix, {
           throwError: false,
         });
       }
@@ -41,36 +46,4 @@ export class FileUtils {
       logger.info(`${logPrefix} No ${fileType} file to watch given. Not monitoring its changes`);
     }
   }
-
-  public static handleFileException(
-    file: string,
-    fileType: FileType,
-    error: NodeJS.ErrnoException,
-    logPrefix: string,
-    params: HandleErrorParams<EmptyObject> = { throwError: true, consoleOut: false }
-  ): void {
-    const prefix = Utils.isNotEmptyString(logPrefix) ? `${logPrefix} ` : '';
-    let logMsg: string;
-    switch (error.code) {
-      case 'ENOENT':
-        logMsg = `${fileType} file ${file} not found:`;
-        break;
-      case 'EEXIST':
-        logMsg = `${fileType} file ${file} already exists:`;
-        break;
-      case 'EACCES':
-        logMsg = `${fileType} file ${file} access denied:`;
-        break;
-      default:
-        logMsg = `${fileType} file ${file} error:`;
-    }
-    if (params?.consoleOut) {
-      console.warn(`${chalk.green(prefix)}${chalk.yellow(`${logMsg} `)}`, error);
-    } else {
-      logger.warn(`${prefix}${logMsg}`, error);
-    }
-    if (params?.throwError) {
-      throw error;
-    }
-  }
 }