UNPKG

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
"use strict"; 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; }