UNPKG

fallout-utility

Version:
45 lines 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.avarageNumbers = exports.formatNumber = exports.randomInt = exports.isNumber = void 0; const crypto_1 = require("crypto"); /** * * Checks if the given value is a finite number * @param value Check if this can be a number */ function isNumber(value) { return !isNaN(parseFloat(String(value))) && isFinite(Number(value)); } exports.isNumber = isNumber; function randomInt(min, max) { const randomBuffer = new Uint32Array(1); (0, crypto_1.getRandomValues)(randomBuffer); let randomNumber = randomBuffer[0] / (0xffffffff + 1); const { mx, mn } = { mx: max === undefined ? min : max, mn: max === undefined ? 0 : min }; return Math.floor(randomNumber * (mx - mn + 1)) + mn; } exports.randomInt = randomInt; /** * Formats number to K, M, B style * @param number Number to format */ function formatNumber(number, locale = 'en-US') { return number.toLocaleString(locale, { maximumFractionDigits: 2, compactDisplay: 'short', notation: 'compact' }); } exports.formatNumber = formatNumber; /** * Gets an avarage of list of numbers * @param numbers List of numbers */ function avarageNumbers(numbers) { return numbers.reduce((p, c) => p + c, 0) / numbers.length; } exports.avarageNumbers = avarageNumbers; //# sourceMappingURL=numbers.js.map