import logger from './Logger';
export default class FileUtils {
- static watchJsonFile<T extends JsonType>(
+ public static watchJsonFile<T extends JsonType>(
logPrefix: string,
fileType: FileType,
file: string,
- attribute?: T,
+ refreshedVariable?: T,
listener: fs.WatchListener<string> = (event, filename) => {
if (filename && event === 'change') {
try {
logger.debug(logPrefix + ' ' + fileType + ' file ' + file + ' have changed, reload');
- attribute && (attribute = JSON.parse(fs.readFileSync(file, 'utf8')) as T);
+ refreshedVariable && (refreshedVariable = JSON.parse(fs.readFileSync(file, 'utf8')) as T);
} catch (error) {
FileUtils.handleFileException(logPrefix, fileType, file, error as NodeJS.ErrnoException, {
throwError: false,
}
}
}
- ) {
+ ): fs.FSWatcher {
if (file) {
try {
- fs.watch(file, listener);
+ return fs.watch(file, listener);
} catch (error) {
FileUtils.handleFileException(logPrefix, fileType, file, error as NodeJS.ErrnoException, {
throwError: false,
}
}
- static handleFileException(
+ public static handleFileException(
logPrefix: string,
fileType: FileType,
file: string,