tsch-ej-numbers
Version:
A powerful TypeScript API for analyzing EuroJackpot draws. Perfect for developers who want to evaluate historical data, generate statistics, or build lottery-related applications.
66 lines (65 loc) • 2.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleCountWinningNumberCombinations = handleCountWinningNumberCombinations;
exports.handleCountEuroNumberCombinations = handleCountEuroNumberCombinations;
var __1 = require("..");
function handleCountWinningNumberCombinations(sortByValueDesc) {
if (sortByValueDesc === void 0) { sortByValueDesc = false; }
var data = (0, __1.getRecords)();
var counts = {};
// Initialize combinations from 1–2 to 49–50
for (var i = 1; i < 50; i++) {
var key = "".concat(i, "-").concat(i + 1);
counts[key] = { key: key, value: 0 };
}
data.forEach(function (item) {
var winningNumbers = [item.wn1, item.wn2, item.wn3, item.wn4, item.wn5];
for (var i = 0; i < winningNumbers.length - 1; i++) {
var a = winningNumbers[i];
var b = winningNumbers[i + 1];
if (Math.abs(a - b) === 1) {
var min = Math.min(a, b);
var key = "".concat(min, "-").concat(min + 1);
if (counts[key]) {
counts[key].value += 1;
}
}
}
});
// Sort optionally
if (sortByValueDesc) {
var sorted = Object.values(counts).sort(function (a, b) { return b.value - a.value; });
return Object.fromEntries(sorted.map(function (entry) { return [entry.key, entry]; }));
}
return counts;
}
function handleCountEuroNumberCombinations(sortByValueDesc) {
if (sortByValueDesc === void 0) { sortByValueDesc = false; }
var data = (0, __1.getRecords)();
var counts = {};
// Initialize combinations from 1–2 to 11–12
for (var i = 1; i < 12; i++) {
var key = "".concat(i, "-").concat(i + 1);
counts[key] = { key: key, value: 0 };
}
data.forEach(function (item) {
var euroNumbers = [item.en1, item.en2];
for (var i = 0; i < euroNumbers.length - 1; i++) {
var a = euroNumbers[i];
var b = euroNumbers[i + 1];
if (Math.abs(a - b) === 1) {
var min = Math.min(a, b);
var key = "".concat(min, "-").concat(min + 1);
if (counts[key]) {
counts[key].value += 1;
}
}
}
});
// Sort optionally
if (sortByValueDesc) {
var sorted = Object.values(counts).sort(function (a, b) { return b.value - a.value; });
return Object.fromEntries(sorted.map(function (entry) { return [entry.key, entry]; }));
}
return counts;
}