X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FFileUtils.ts;h=87a8733b08f7e9108eb39f81b4d809200fb016d6;hb=6d8b0b0e25a198e2328d165b9413f6f4d13db2e7;hp=f38bde6c8ea66218887438eefa23832c7e6aa0e9;hpb=9d7484a4667898757b7c23be3dec7458c337cb84;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/FileUtils.ts b/src/utils/FileUtils.ts index f38bde6c..87a8733b 100644 --- a/src/utils/FileUtils.ts +++ b/src/utils/FileUtils.ts @@ -1,13 +1,19 @@ -import { EmptyObject } from '../types/EmptyObject'; -import { FileType } from '../types/FileType'; -import { HandleErrorParams } from '../types/Error'; -import { JsonType } from '../types/JsonType'; -import Utils from './Utils'; -import chalk from 'chalk'; import fs from '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'; export default class FileUtils { + private constructor() { + // This is intentional + } + public static watchJsonFile( logPrefix: string, fileType: FileType, @@ -16,7 +22,7 @@ export default class FileUtils { listener: fs.WatchListener = (event, filename) => { if (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, { @@ -47,45 +53,28 @@ export default class FileUtils { params: HandleErrorParams = { throwError: true, consoleOut: false } ): void { const prefix = !Utils.isEmptyString(logPrefix) ? logPrefix + ' ' : ''; - if (error.code === 'ENOENT') { - if (params?.consoleOut) { - console.warn( - chalk.green(prefix) + chalk.yellow(fileType + ' file ' + file + ' not found: '), - error - ); - } else { - logger.warn(prefix + fileType + ' file ' + file + ' not found: %j', error); - } - } else if (error.code === 'EEXIST') { - if (params?.consoleOut) { - console.warn( - chalk.green(prefix) + chalk.yellow(fileType + ' file ' + file + ' already exists: '), - error - ); - } else { - logger.warn(prefix + fileType + ' file ' + file + ' already exists: %j', error); - } - } else if (error.code === 'EACCES') { - if (params?.consoleOut) { - console.warn( - chalk.green(prefix) + chalk.yellow(fileType + ' file ' + file + ' access denied: '), - error - ); - } else { - logger.warn(prefix + fileType + ' file ' + file + ' access denied: %j', error); - } + 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 { - if (params?.consoleOut) { - console.warn( - chalk.green(prefix) + chalk.yellow(fileType + ' file ' + file + ' error: '), - error - ); - } else { - logger.warn(prefix + fileType + ' file ' + file + ' error: %j', error); - } - if (params?.throwError) { - throw error; - } + logger.warn(`${prefix}${logMsg}`, error); + } + if (params?.throwError) { + throw error; } } }