X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Futils%2FUtils.ts;h=16cb7fa3fca34cd39f803607ec6b70fb3f8dfa78;hb=c045d9a97ebdf3747b82746b733b0c60a7db3f32;hp=cfa63cae2213bb7ea5649b304ca4db3fdcf8f134;hpb=e8e3864e95741afbb7cd3de3d91e3995afdac05d;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Utils.ts b/src/utils/Utils.ts index cfa63cae..16cb7fa3 100644 --- a/src/utils/Utils.ts +++ b/src/utils/Utils.ts @@ -1,3 +1,4 @@ +import { WebSocketCloseEventStatusString } from '../types/WebSocket'; import { v4 as uuid } from 'uuid'; export default class Utils { @@ -10,14 +11,14 @@ 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 { return new Date(milliSeconds).toISOString().substr(11, 8); } - static removeExtraEmptyLines(tab): void { + static removeExtraEmptyLines(tab: string[]): void { // Start from the end for (let i = tab.length - 1; i > 0; i--) { // Two consecutive empty lines? @@ -123,8 +124,8 @@ export default class Utils { return date.toLocaleString() + prefixString; } - static cloneObject(object) { - return JSON.parse(JSON.stringify(object)); + static cloneObject(object: T): T { + return JSON.parse(JSON.stringify(object)) as T; } static isIterable(obj): boolean { @@ -156,7 +157,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; } @@ -188,4 +189,24 @@ export default class Utils { 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)'; + } }