repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix UT
[e-mobility-charging-stations-simulator.git]
/
src
/
performance
/
storage
/
JsonFileStorage.ts
diff --git
a/src/performance/storage/JsonFileStorage.ts
b/src/performance/storage/JsonFileStorage.ts
index 8a8808e9baa7af069a2834a2afe14a796ccaca1d..94c36eddac1ea5012d81d22d314f52dfa8edc12f 100644
(file)
--- a/
src/performance/storage/JsonFileStorage.ts
+++ b/
src/performance/storage/JsonFileStorage.ts
@@
-1,12
+1,15
@@
-// Copyright Jerome Benoit. 2021. All Rights Reserved.
+// Copyright Jerome Benoit. 2021
-2023
. All Rights Reserved.
-import Constants from '../../utils/Constants';
-import FileUtils from '../../utils/FileUtils';
-import Statistics from '../../types/Statistics';
-import { Storage } from './Storage';
import fs from 'fs';
import fs from 'fs';
+
import lockfile from 'proper-lockfile';
import lockfile from 'proper-lockfile';
+import { Storage } from './Storage';
+import { FileType } from '../../types/FileType';
+import type { Statistics } from '../../types/Statistics';
+import FileUtils from '../../utils/FileUtils';
+import Utils from '../../utils/Utils';
+
export class JsonFileStorage extends Storage {
private fd: number | null = null;
export class JsonFileStorage extends Storage {
private fd: number | null = null;
@@
-19,7
+22,7
@@
export class JsonFileStorage extends Storage {
this.checkPerformanceRecordsFile();
lockfile
.lock(this.dbName, { stale: 5000, retries: 3 })
this.checkPerformanceRecordsFile();
lockfile
.lock(this.dbName, { stale: 5000, retries: 3 })
- .then(async
(release)
=> {
+ .then(async
release
=> {
try {
const fileData = fs.readFileSync(this.dbName, 'utf8');
const performanceRecords: Statistics[] = fileData
try {
const fileData = fs.readFileSync(this.dbName, 'utf8');
const performanceRecords: Statistics[] = fileData
@@
-28,25
+31,13
@@
export class JsonFileStorage extends Storage {
performanceRecords.push(performanceStatistics);
fs.writeFileSync(
this.dbName,
performanceRecords.push(performanceStatistics);
fs.writeFileSync(
this.dbName,
- JSON.stringify(
- performanceRecords,
- (key, value) => {
- if (value instanceof Map) {
- return {
- dataType: 'Map',
- value: [...value],
- };
- }
- return value as Statistics;
- },
- 2
- ),
+ Utils.JSONStringifyWithMapSupport(performanceRecords, 2),
'utf8'
);
} catch (error) {
FileUtils.handleFileException(
this.logPrefix,
'utf8'
);
} catch (error) {
FileUtils.handleFileException(
this.logPrefix,
-
Constants.PERFORMANCE_RECORDS_FILETYPE
,
+
FileType.PerformanceRecords
,
this.dbName,
error as NodeJS.ErrnoException
);
this.dbName,
error as NodeJS.ErrnoException
);
@@
-66,7
+57,7
@@
export class JsonFileStorage extends Storage {
} catch (error) {
FileUtils.handleFileException(
this.logPrefix,
} catch (error) {
FileUtils.handleFileException(
this.logPrefix,
-
Constants.PERFORMANCE_RECORDS_FILETYPE
,
+
FileType.PerformanceRecords
,
this.dbName,
error as NodeJS.ErrnoException
);
this.dbName,
error as NodeJS.ErrnoException
);
@@
-82,7
+73,7
@@
export class JsonFileStorage extends Storage {
} catch (error) {
FileUtils.handleFileException(
this.logPrefix,
} catch (error) {
FileUtils.handleFileException(
this.logPrefix,
-
Constants.PERFORMANCE_RECORDS_FILETYPE
,
+
FileType.PerformanceRecords
,
this.dbName,
error as NodeJS.ErrnoException
);
this.dbName,
error as NodeJS.ErrnoException
);