typescript-libraries
Version:
To install this library, run:
49 lines (48 loc) • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TSBetSystem = void 0;
var TSBetSystem = /** @class */ (function () {
function TSBetSystem() {
}
TSBetSystem.generate = function (selectionKeys, cut, max, banker) {
var _a;
if (cut === void 0) { cut = 1; }
if (max === void 0) { max = 9; }
if (banker === void 0) { banker = []; }
var results = [];
if (selectionKeys.length > max && cut === 1) {
return results;
}
for (var i = cut; i < selectionKeys.length && i < max; i++) {
var c = TSBetSystem.combine(selectionKeys, i, banker);
if ((_a = c === null || c === void 0 ? void 0 : c[0]) === null || _a === void 0 ? void 0 : _a.length) {
results.push(c);
}
}
return results;
};
TSBetSystem.combine = function (selections, size, banker) {
if (banker === void 0) { banker = []; }
var combinations = [], combine = function (current, start) {
if (current.length === size) {
combinations.push(current.slice());
return;
}
var _loop_1 = function (i) {
var currentNumber = e(selections[i]);
if (!current.includes(currentNumber) && current.every(function (number) { return e(number) !== currentNumber; })) {
current.push(selections[i]);
combine(current, i + 1);
current.pop();
}
};
for (var i = start; i < selections.length; i++) {
_loop_1(i);
}
}, e = function (s) { return (s === null || s === void 0 ? void 0 : s.substring(0, 24)) || null; };
combine(banker, 0);
return combinations;
};
return TSBetSystem;
}());
exports.TSBetSystem = TSBetSystem;