Apply depenencies update
[e-mobility-charging-stations-simulator.git] / src / performance / storage / JSONFileStorage.ts
index 92b4faae42702a25892cad7db5604dc2fd746db5..7b3633a78a338a519d64c6b796701506cf3f4316 100644 (file)
@@ -23,7 +23,21 @@ export class JSONFileStorage extends Storage {
           const fileData = fs.readFileSync(this.dbName, 'utf8');
           const performanceRecords: Statistics[] = fileData ? JSON.parse(fileData) as Statistics[] : [];
           performanceRecords.push(performanceStatistics);
-          fs.writeFileSync(this.dbName, JSON.stringify(performanceRecords, null, 2), 'utf8');
+          fs.writeFileSync(
+            this.dbName,
+            JSON.stringify(performanceRecords,
+              (key, value) => {
+                if (value instanceof Map) {
+                  return {
+                    dataType: 'Map',
+                    value: [...value]
+                  };
+                }
+                return value as Statistics;
+              },
+              2),
+            'utf8'
+          );
         } catch (error) {
           FileUtils.handleFileException(this.logPrefix, Constants.PERFORMANCE_RECORDS_FILETYPE, this.dbName, error);
         }