import fs from 'node:fs';
-import { FileType } from '../types/FileType';
-import FileUtils from '../utils/FileUtils';
-import logger from '../utils/Logger';
-import Utils from '../utils/Utils';
+import { FileType } from '../types';
+import { FileUtils, Utils, logger } from '../utils';
-export default class AuthorizedTagsCache {
+export class AuthorizedTagsCache {
private static instance: AuthorizedTagsCache | null = null;
private readonly tagsCaches: Map<string, string[]>;
private readonly FSWatchers: Map<string, fs.FSWatcher | undefined>;
this.FSWatchers.set(
file,
FileUtils.watchJsonFile(
- this.logPrefix(file),
- FileType.Authorization,
file,
- null,
+ FileType.Authorization,
+ this.logPrefix(file),
+ undefined,
(event, filename) => {
- if (!Utils.isEmptyString(filename) && event === 'change') {
+ if (Utils.isNotEmptyString(filename) && event === 'change') {
try {
logger.debug(
`${this.logPrefix(file)} ${FileType.Authorization} file have changed, reload`
this.deleteFSWatcher(file);
} catch (error) {
FileUtils.handleFileException(
- this.logPrefix(file),
- FileType.Authorization,
file,
+ FileType.Authorization,
error as NodeJS.ErrnoException,
+ this.logPrefix(file),
{
throwError: false,
}
authorizedTags = JSON.parse(fs.readFileSync(file, 'utf8')) as string[];
} catch (error) {
FileUtils.handleFileException(
- this.logPrefix(file),
- FileType.Authorization,
file,
- error as NodeJS.ErrnoException
+ FileType.Authorization,
+ error as NodeJS.ErrnoException,
+ this.logPrefix(file)
);
}
} else {
return authorizedTags;
}
- private logPrefix(file: string): string {
+ private logPrefix = (file: string): string => {
return Utils.logPrefix(` Authorized tags cache for authorization file '${file}' |`);
- }
+ };
}