build(deps): apply updates
[e-mobility-charging-stations-simulator.git] / src / performance / storage / JsonFileStorage.ts
index 44366b4da6507aafeea783271328b53ec1632bbe..58680181f7499b858e485ea828e6f969910b78f9 100644 (file)
@@ -15,10 +15,7 @@ import {
 } from '../../utils';
 
 export class JsonFileStorage extends Storage {
-  private static readonly performanceRecords: Map<string, Statistics> = new Map<
-    string,
-    Statistics
-  >();
+  private static performanceRecords: Map<string, Statistics>;
 
   private fd?: number;
 
@@ -29,8 +26,8 @@ export class JsonFileStorage extends Storage {
 
   public storePerformanceStatistics(performanceStatistics: Statistics): void {
     this.checkPerformanceRecordsFile();
+    JsonFileStorage.performanceRecords.set(performanceStatistics.id, performanceStatistics);
     AsyncLock.runExclusive(AsyncLockType.performance, () => {
-      JsonFileStorage.performanceRecords.set(performanceStatistics.id, performanceStatistics);
       writeSync(
         this.fd!,
         JSONStringifyWithMapSupport([...JsonFileStorage.performanceRecords.values()], 2),
@@ -48,6 +45,7 @@ export class JsonFileStorage extends Storage {
   }
 
   public open(): void {
+    JsonFileStorage.performanceRecords = new Map<string, Statistics>();
     try {
       if (isNullOrUndefined(this?.fd)) {
         if (!existsSync(dirname(this.dbName))) {
@@ -66,6 +64,7 @@ export class JsonFileStorage extends Storage {
   }
 
   public close(): void {
+    JsonFileStorage.performanceRecords.clear();
     try {
       if (this?.fd) {
         closeSync(this.fd);