+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;
}
}
}