-import fs from 'fs';
+import fs from 'node:fs';
import chalk from 'chalk';
}
public static watchJsonFile<T extends JsonType>(
- logPrefix: string,
- fileType: FileType,
file: string,
+ fileType: FileType,
+ logPrefix: string,
refreshedVariable?: T,
listener: fs.WatchListener<string> = (event, filename) => {
- if (filename && event === 'change') {
+ if (!Utils.isEmptyString(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.isEmptyString(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,
});
}
}
public static handleFileException(
- logPrefix: string,
- fileType: FileType,
file: string,
+ fileType: FileType,
error: NodeJS.ErrnoException,
+ logPrefix: string,
params: HandleErrorParams<EmptyObject> = { throwError: true, consoleOut: false }
): void {
const prefix = !Utils.isEmptyString(logPrefix) ? `${logPrefix} ` : '';