X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FUtils.ts;h=1a0d7b70c1fb26feea3e95886b2ea0c4d4fb1126;hb=3340259a3cd75024ae3510433f4bf4232c8de7fb;hp=226f54c4df5abfa54386737d2e0ffe0ed7e40ac1;hpb=ca64a820a377d72c5480f3a066f731947d232214;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Utils.ts b/src/utils/Utils.ts index 226f54c4..1a0d7b70 100644 --- a/src/utils/Utils.ts +++ b/src/utils/Utils.ts @@ -1,3 +1,6 @@ +import Configuration from './Configuration'; +import { WebSocketCloseEventStatusString } from '../types/WebSocket'; +import { WorkerProcessType } from '../types/Worker'; import { v4 as uuid } from 'uuid'; export default class Utils { @@ -10,7 +13,7 @@ export default class Utils { } static secondsToHHMMSS(seconds: number): string { - return new Date(seconds * 1000).toISOString().substr(11, 8); + return Utils.milliSecondsToHHMMSS(seconds * 1000); } static milliSecondsToHHMMSS(milliSeconds: number): string { @@ -156,7 +159,7 @@ export default class Utils { } static isNullOrUndefined(value): boolean { - // eslint-disable-next-line no-eq-null + // eslint-disable-next-line no-eq-null, eqeqeq if (value == null) { return true; } @@ -181,11 +184,39 @@ export default class Utils { /** * @param {number} [retryNumber=0] - * @return {number} - delay in milliseconds + * @returns {number} - delay in milliseconds */ static exponentialDelay(retryNumber = 0): number { const delay = Math.pow(2, retryNumber) * 100; const randomSum = delay * 0.2 * Math.random(); // 0-20% of the delay return delay + randomSum; } + + static getWebSocketCloseEventStatusString(code: number): string { + if (code >= 0 && code <= 999) { + return '(Unused)'; + } else if (code >= 1016) { + if (code <= 1999) { + return '(For WebSocket standard)'; + } else if (code <= 2999) { + return '(For WebSocket extensions)'; + } else if (code <= 3999) { + return '(For libraries and frameworks)'; + } else if (code <= 4999) { + return '(For applications)'; + } + } + if (!Utils.isUndefined(WebSocketCloseEventStatusString[code])) { + return WebSocketCloseEventStatusString[code] as string; + } + return '(Unknown)'; + } + + static workerPoolInUse(): boolean { + return [WorkerProcessType.DYNAMIC_POOL, WorkerProcessType.STATIC_POOL].includes(Configuration.getWorkerProcess()); + } + + static workerDynamicPoolInUse(): boolean { + return Configuration.getWorkerProcess() === WorkerProcessType.DYNAMIC_POOL; + } }