fallout-utility
Version:
<h1 align="center"> fallout-utility <br> </h1>
45 lines • 1.4 kB
JavaScript
;
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