X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FFileUtils.ts;h=4e556a4bc1c3d642c8c9edecbb92049d5e880044;hb=42486f2357b011f9244c6b29f4e05185138ce8d1;hp=9b7f62e0af7431759af8d56c0f18f37f293d8a67;hpb=268a74bb051fcbbad532fd833f0d8fd2b33b6c64;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/FileUtils.ts b/src/utils/FileUtils.ts index 9b7f62e0..4e556a4b 100644 --- a/src/utils/FileUtils.ts +++ b/src/utils/FileUtils.ts @@ -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,37 +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 = { 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) { - logMsg = `${logMsg} `; - console.warn(`${chalk.green(prefix)}${chalk.yellow(logMsg)}`, error); - } else { - logger.warn(`${prefix}${logMsg}`, error); - } - if (params?.throwError) { - throw error; - } - } }