es-number-ext
Version:
Native number extensions for javascript and typescript.
17 lines (16 loc) • 850 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = random;
function random(minOrSize, max) {
if (max === undefined && Number.isInteger(minOrSize) && minOrSize > 0)
[minOrSize, max] = [0, minOrSize];
else if (max === undefined && Number.isInteger(minOrSize) && minOrSize < 0)
[minOrSize, max] = [minOrSize, 0];
if (typeof minOrSize !== 'number' || !Number.isInteger(minOrSize))
throw new TypeError('Number.random parameter 1 must be an integer');
if (typeof max !== 'number' || !Number.isInteger(max))
throw new TypeError('Number.random parameter 2 must be an integer');
if (max < minOrSize)
throw new TypeError('Number.random parameter 1 must be smaller than parameter 2');
return Math.floor(Math.random() * (max - minOrSize)) + minOrSize;
}