X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FFileUtils.ts;h=328687b2dcdc21f46868d538cb110c0aa9248e7a;hb=f911a4af34e676a49f542aec31cbef8075fb65ef;hp=ccee788bb99c5ac5d46623bceca00b53bb651fd2;hpb=14ecae6a3d6b172ca29353e5a2faed513feff4f5;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/FileUtils.ts b/src/utils/FileUtils.ts index ccee788b..328687b2 100644 --- a/src/utils/FileUtils.ts +++ b/src/utils/FileUtils.ts @@ -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( - logPrefix: string, - fileType: FileType, file: string, + fileType: FileType, + logPrefix: string, refreshedVariable?: T, listener: fs.WatchListener = (event, filename) => { - if (filename && event === 'change') { + if (Utils.isNotEmptyString(filename) && event === 'change') { try { 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 = { 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':