X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FUtils.ts;h=f453c8220fcb7a24c182ba602efe95dbdaff6ea3;hb=6f9f188b8335f5cc9fcb0fe9ba2e72525b70231a;hp=6d37271ff6382f06c18711aed2e0852ddae61f0c;hpb=6e0964c8dff48691f7155d12096e777a8f9389f4;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Utils.ts b/src/utils/Utils.ts index 6d37271f..f453c822 100644 --- a/src/utils/Utils.ts +++ b/src/utils/Utils.ts @@ -4,6 +4,10 @@ import { WorkerProcessType } from '../types/Worker'; import { v4 as uuid } from 'uuid'; export default class Utils { + static logPrefix(prefixString = ''): string { + return new Date().toLocaleString() + prefixString; + } + static generateUUID(): string { return uuid(); } @@ -49,15 +53,15 @@ export default class Utils { } static convertToInt(value: any): number { - let changedValue = value; + let changedValue: number = value; if (!value) { return 0; } if (Number.isSafeInteger(value)) { - return value; + return changedValue; } // Check - if (typeof value === 'string') { + if (Utils.isString(value)) { // Create Object changedValue = parseInt(value); } @@ -65,12 +69,12 @@ export default class Utils { } static convertToFloat(value: any): number { - let changedValue = value; + let changedValue: number = value; if (!value) { return 0; } // Check - if (typeof value === 'string') { + if (Utils.isString(value)) { // Create Object changedValue = parseFloat(value); } @@ -121,9 +125,12 @@ export default class Utils { return Utils.roundTo(Utils.getRandomFloat(max), scale); } - static logPrefix(prefixString = ''): string { - const date = new Date(); - return date.toLocaleString() + prefixString; + static getRandomFloatFluctuatedRounded(staticValue: number, fluctuationPercent: number, scale = 2): number { + if (fluctuationPercent === 0) { + return Utils.roundTo(staticValue, scale); + } + const fluctuationRatio = fluctuationPercent / 100; + return Utils.getRandomFloatRounded(staticValue * (1 + fluctuationRatio), staticValue * (1 - fluctuationRatio), scale); } static cloneObject(object: T): T {