X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FFileUtils.ts;h=014ebbdece21cf9a3c9b512573faf95c741693f1;hb=717c1e56bde34461c2a53b73cc1ca04aed39392f;hp=c6850c7103d47e9f05053fc8afaaefde961a9fcd;hpb=bc464bb1fb95c50a14b25478d35be76b7d8e5498;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/FileUtils.ts b/src/utils/FileUtils.ts index c6850c71..014ebbde 100644 --- a/src/utils/FileUtils.ts +++ b/src/utils/FileUtils.ts @@ -1,34 +1,39 @@ +import { EmptyObject } from '../types/EmptyObject'; +import { HandleErrorParams } from '../types/Error'; import chalk from 'chalk'; -import getLogger from './Logger'; +import logger from './Logger'; export default class FileUtils { - static handleFileException(logPrefix: string, fileType: string, filePath: string, error: NodeJS.ErrnoException, consoleOut = false): void { + static handleFileException(logPrefix: string, fileType: string, filePath: string, error: NodeJS.ErrnoException, + params: HandleErrorParams = { throwError: true, consoleOut: false }): void { const prefix = logPrefix.length !== 0 ? logPrefix + ' ' : ''; if (error.code === 'ENOENT') { - if (consoleOut) { + if (params?.consoleOut) { console.warn(chalk.green(prefix) + chalk.yellow(fileType + ' file ' + filePath + ' not found: '), error); } else { - getLogger().warn(prefix + fileType + ' file ' + filePath + ' not found: %j', error); + logger.warn(prefix + fileType + ' file ' + filePath + ' not found: %j', error); } } else if (error.code === 'EEXIST') { - if (consoleOut) { + if (params?.consoleOut) { console.warn(chalk.green(prefix) + chalk.yellow(fileType + ' file ' + filePath + ' already exists: '), error); } else { - getLogger().warn(prefix + fileType + ' file ' + filePath + ' already exists: %j', error); + logger.warn(prefix + fileType + ' file ' + filePath + ' already exists: %j', error); } } else if (error.code === 'EACCES') { - if (consoleOut) { + if (params?.consoleOut) { console.warn(chalk.green(prefix) + chalk.yellow(fileType + ' file ' + filePath + ' access denied: '), error); } else { - getLogger().warn(prefix + fileType + ' file ' + filePath + ' access denied: %j', error); + logger.warn(prefix + fileType + ' file ' + filePath + ' access denied: %j', error); } } else { - if (consoleOut) { + if (params?.consoleOut) { console.warn(chalk.green(prefix) + chalk.yellow(fileType + ' file ' + filePath + ' error: '), error); } else { - getLogger().warn(prefix + fileType + ' file ' + filePath + ' error: %j', error); + logger.warn(prefix + fileType + ' file ' + filePath + ' error: %j', error); + } + if (params?.throwError) { + throw error; } - throw error; } } }