X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FUtils.js;h=bd8c80368d82169aabc69a1dfca01781fb5007ce;hb=560bcf5b8e2a406e7de3e7e330da36e93dd6eea9;hp=e85090d49626156d4e2fdb913781762448bdcc8a;hpb=a6e68f340a9c5837c767b316dee5d5121188dc47;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Utils.js b/src/utils/Utils.js index e85090d4..bd8c8036 100644 --- a/src/utils/Utils.js +++ b/src/utils/Utils.js @@ -1,7 +1,7 @@ const {v4: uuid} = require('uuid'); class Utils { - static generateGUID() { + static generateUUID() { return uuid(); } @@ -15,18 +15,6 @@ class Utils { return date.toISOString().substr(11, 8); } - static convertToDate(date) { - // Check - if (!date) { - return date; - } - // Check Type - if (!(date instanceof Date)) { - return new Date(date); - } - return date; - } - static isIterable(obj) { if (obj) { return typeof obj[Symbol.iterator] === 'function'; @@ -63,6 +51,18 @@ class Utils { } } + static convertToDate(date) { + // Check + if (!date) { + return date; + } + // Check Type + if (!(date instanceof Date)) { + return new Date(date); + } + return date; + } + static convertToObjectID(id) { let changedID = id; // Check @@ -74,30 +74,33 @@ class Utils { return changedID; } - static convertToInt(id) { - let changedID = id; - if (!id) { + static convertToInt(value) { + let changedValue = value; + if (!value) { return 0; } + if (Number.isSafeInteger(value)) { + return value; + } // Check - if (typeof id === 'string') { + if (typeof value === 'string') { // Create Object - changedID = parseInt(id); + changedValue = parseInt(value); } - return changedID; + return changedValue; } - static convertToFloat(id) { - let changedID = id; - if (!id) { + static convertToFloat(value) { + let changedValue = value; + if (!value) { return 0; } // Check - if (typeof id === 'string') { + if (typeof value === 'string') { // Create Object - changedID = parseFloat(id); + changedValue = parseFloat(value); } - return changedID; + return changedValue; } static convertToBoolean(value) { @@ -116,16 +119,65 @@ class Utils { return result; } - static getRandomInt(max, min) { + static getRandomFloat(max, min = 0) { + if (min) { + return Math.random() * (max - min + 1) + min; + } + return Math.random() * max + 1; + } + + static getRandomInt(max, min = 0) { + if (min) { + return Math.floor(Utils.getRandomFloat(max, min)); + } + return Math.floor(Utils.getRandomFloat(max)); + } + + static roundTo(number, scale) { + return Utils.convertToFloat(number.toFixed(scale)); + } + + static getRandomFloatRounded(max, min = 0, scale = 2) { if (min) { - return Math.floor((Math.random() * (max - min)) + min); + return Utils.roundTo(Utils.getRandomFloat(max, min), scale); } - return Math.floor((Math.random() * max)); + return Utils.roundTo(Utils.getRandomFloat(max), scale); } - static basicFormatLog(prefixString = '') { + static logPrefix(prefixString = '') { const date = new Date(); - return date.toISOString().substr(0, 19) + prefixString; + return date.toLocaleString() + prefixString; + } + + static objectHasOwnProperty(object, property) { + return Object.prototype.hasOwnProperty.call(object, property); + } + + static cloneJSonDocument(jsonDocument) { + return JSON.parse(JSON.stringify(jsonDocument)); + } + + static isString(value) { + return typeof value === 'string'; + } + + static isUndefined(value) { + return typeof value === 'undefined'; + } + + static isNullOrUndefined(value) { + // eslint-disable-next-line eqeqeq + if (value == null) { + return true; + } + return false; + } + + static isEmptyArray(object) { + if (Array.isArray(object) && object.length > 0) { + return false; + } + return true; } }