X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fperformance%2Fstorage%2FJsonFileStorage.ts;h=fcb35a4df0507569d941edbcb1aac223561e6be4;hb=e302df1d4573ef07df7c44a210a34e429f571814;hp=bc28a6cb43c15b39a0925c10c9b8cf555a85b68d;hpb=8114d10e3893e96bb725ce2fca9744429ee4b75b;p=e-mobility-charging-stations-simulator.git diff --git a/src/performance/storage/JsonFileStorage.ts b/src/performance/storage/JsonFileStorage.ts index bc28a6cb..fcb35a4d 100644 --- a/src/performance/storage/JsonFileStorage.ts +++ b/src/performance/storage/JsonFileStorage.ts @@ -1,13 +1,12 @@ -// Copyright Jerome Benoit. 2021. All Rights Reserved. +// Copyright Jerome Benoit. 2021-2023. All Rights Reserved. -import fs from 'fs'; +import fs from 'node:fs'; import lockfile from 'proper-lockfile'; -import { FileType } from '../../types/FileType'; -import Statistics from '../../types/Statistics'; -import FileUtils from '../../utils/FileUtils'; -import { Storage } from './Storage'; +import { FileType, type Statistics } from '../../types'; +import { Constants, FileUtils, Utils } from '../../utils'; +import { Storage } from '../internal'; export class JsonFileStorage extends Storage { private fd: number | null = null; @@ -30,47 +29,33 @@ export class JsonFileStorage extends Storage { 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, - FileType.PerformanceRecords, this.dbName, - error as NodeJS.ErrnoException + FileType.PerformanceRecords, + error as NodeJS.ErrnoException, + this.logPrefix ); } await release(); }) - .catch(() => { - /* This is intentional */ - }); + .catch(Constants.EMPTY_FUNCTION); } public open(): void { try { - if (!this?.fd) { + if (Utils.isNullOrUndefined(this?.fd)) { this.fd = fs.openSync(this.dbName, 'a+'); } } catch (error) { FileUtils.handleFileException( - this.logPrefix, - FileType.PerformanceRecords, this.dbName, - error as NodeJS.ErrnoException + FileType.PerformanceRecords, + error as NodeJS.ErrnoException, + this.logPrefix ); } } @@ -83,10 +68,10 @@ export class JsonFileStorage extends Storage { } } catch (error) { FileUtils.handleFileException( - this.logPrefix, - FileType.PerformanceRecords, this.dbName, - error as NodeJS.ErrnoException + FileType.PerformanceRecords, + error as NodeJS.ErrnoException, + this.logPrefix ); } }