UNPKG

typescript-libraries

Version:
49 lines (48 loc) 1.91 kB
"use strict"; 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;