refactor: cleanup eslint configuration
[e-mobility-charging-stations-simulator.git] / src / utils / FileUtils.ts
index 51871884ccc38e7c7b6d09c7d6cd37c1a6ad3192..543a2b23c2eda50f157680f15377ee335ec697da 100644 (file)
@@ -1,37 +1,38 @@
-import fs from 'node:fs';
+import { type FSWatcher, readFileSync, watch, type WatchListener } from 'node:fs'
 
-import { handleFileException } from './ErrorUtils';
-import { logger } from './Logger';
-import { Utils } from './Utils';
-import type { FileType, JsonType } from '../types';
+import type { FileType, JsonType } from '../types/index.js'
+import { handleFileException } from './ErrorUtils.js'
+import { logger } from './Logger.js'
+import { isNotEmptyString } from './Utils.js'
 
 export const watchJsonFile = <T extends JsonType>(
   file: string,
   fileType: FileType,
   logPrefix: string,
   refreshedVariable?: T,
-  listener: fs.WatchListener<string> = (event, filename) => {
-    if (Utils.isNotEmptyString(filename) && event === 'change') {
+  listener: WatchListener<string> = (event, filename) => {
+    if (isNotEmptyString(filename) && event === 'change') {
       try {
-        logger.debug(`${logPrefix} ${fileType} file ${file} have changed, reload`);
-        refreshedVariable && (refreshedVariable = JSON.parse(fs.readFileSync(file, 'utf8')) as T);
+        logger.debug(`${logPrefix} ${fileType} file ${file} have changed, reload`)
+        refreshedVariable != null &&
+          (refreshedVariable = JSON.parse(readFileSync(file, 'utf8')) as T)
       } catch (error) {
         handleFileException(file, fileType, error as NodeJS.ErrnoException, logPrefix, {
-          throwError: false,
-        });
+          throwError: false
+        })
       }
     }
   }
-): fs.FSWatcher | undefined => {
-  if (Utils.isNotEmptyString(file)) {
+): FSWatcher | undefined => {
+  if (isNotEmptyString(file)) {
     try {
-      return fs.watch(file, listener);
+      return watch(file, listener)
     } catch (error) {
       handleFileException(file, fileType, error as NodeJS.ErrnoException, logPrefix, {
-        throwError: false,
-      });
+        throwError: false
+      })
     }
   } else {
-    logger.info(`${logPrefix} No ${fileType} file to watch given. Not monitoring its changes`);
+    logger.info(`${logPrefix} No ${fileType} file to watch given. Not monitoring its changes`)
   }
-};
+}