rolldicejs
Version:
JavaScript library written in TypeScript for generating dice rolls
65 lines (64 loc) • 2.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var Dice = /** @class */ (function () {
function Dice() {
}
Dice.roll = function (first, second, details) {
if (details === void 0) { details = false; }
try {
if (typeof first !== 'number') {
var amounts = first
.toLowerCase()
.split('d')
.map(function (stringVal) { return Number(stringVal); });
if (amounts.length === 2) {
if (typeof second !== 'number' && second) {
var rollList = [];
for (var i = 0; i < amounts[0]; i++) {
rollList.push(Dice.random(1, amounts[1]));
}
return rollList;
}
else {
var sum = 0;
for (var i = 0; i < amounts[0]; i++) {
sum += Dice.random(1, amounts[1]);
}
return sum;
}
}
else {
return 0;
}
}
else if (typeof second === 'undefined') {
return Dice.random(1, first);
}
else if (details && typeof second !== 'boolean') {
var rollList = [];
for (var i = 0; i < first; i++) {
rollList.push(Dice.random(1, second));
}
return rollList;
}
else if (typeof second !== 'boolean') {
var sum = 0;
for (var i = 0; i < first; i++) {
sum += Dice.random(1, second);
}
return sum;
}
else {
return 0;
}
}
catch (_a) {
return 0;
}
};
Dice.random = function (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
};
return Dice;
}());
exports.default = Dice;