tsch-ej-numbers
Version:
API for analyzing EuroJackpot lottery numbers, trends, and probabilities.
579 lines (386 loc) • 10.3 kB
Markdown
# tsch-ej-numbers
### Last Draw: 31.01.2025
<hr/>
## Abstract
This is an API to analyze the EuroJackpot draws.
https://en.wikipedia.org/wiki/Eurojackpot
<hr/>
<br/>
## Important
There is no guarantee that the data collected is correct or that the API methods are correct.
<br/>
<br/>
The results of API functions depend on the data set of the draws.
<br/>
<br/>
<hr/>
# Use in a Demo-App
[Demo-App (NextJS - Vercel)](https://next-ejb-thebuoyants-projects.vercel.app/)
<hr/>
# Installation
npm install --save tsch-ej-numbers
<hr/>
### Record Type (TRecord)
```
export type TRecord = {
date: string;
wn1: number;
wn2: number;
wn3: number;
wn4: number;
wn5: number;
en1: number;
en2: number;
stake: number;
countCl1: number;
quotaCl1: number;
countCl2: number;
quotaCl2: number;
countCl3: number;
quotaCl3: number;
countCl4: number;
quotaCl4: number;
countCl5: number;
quotaCl5: number;
countCl6: number;
quotaCl6: number;
countCl7: number;
quotaCl7: number;
countCl8: number;
quotaCl8: number;
countCl9: number;
quotaCl9: number;
countCl10: number;
quotaCl10: number;
countCl11: number;
quotaCl11: number;
countCl12: number;
quotaCl12: number;
day: string;
};
```
<hr/>
# API
| Function | Version |
| -------------------------- | ------- |
| getRecords | 1.0.x |
| getLastDraw | 1.0.x |
| getFirstDraw | 1.0.x |
| getClassOneDraws | 1.0.x |
| getMaxJackpotDraws | 1.0.x |
| getWinningNumbersCount | 1.0.x |
| getEuroNumbersCount | 1.0.x |
| getDecadesCount | 1.0.x |
| getLowHighCount | 1.0.x |
| getMinMaxQuotaCount | 1.1.x |
| getTopNumbers | 1.1.x |
| getFlopNumbers | 1.1.x |
| getRecordByDate | 1.2.x |
| getTuesdayFridayCount | 1.3.x |
| getCountries | 1.4.x |
| getEvaluationPerYear | 1.5.x |
| getWinningNumberFrequency | 1.6.x |
| getEuroNumberFrequency | 1.6.x |
| getAverages | 1.7.x |
| getLastDrawOfWinningNumber | 1.8.x |
| getLastDrawOfEuroNumber | 1.8.x |
| getWinningNumbersOverdue | 1.9.x |
| getEuroNumbersOverdue | 1.9.x |
<hr/>
## API-Details
### getRecords(limit)
Returns all records of available draws.
- limit
- optional
- number of last records
- return type: TRecord[]
Code:
```
import { getRecords } from "tsch-ej-numbers";
console.log(getRecords()); // all records
console.log(getRecords(0)); // all records
console.log(getRecords(10)); // last 10 records
```
<hr/>
### getLastDraw()
Returns the last current record.
- return type: TRecord
Code:
```
import { getLastDraw } from "tsch-ej-numbers";
console.log(getLastDraw());
```
<hr/>
### getFirstDraw()
Returns the first record.
- return type: TRecord
Code:
```
import { getFirstDraw } from "tsch-ej-numbers";
console.log(getFirstDraw());
```
<hr/>
### getClassOneDraws(limit)
Returns all records with success in class one.
- limit
- optional
- number of last records
- return type: TRecord[]
Code:
```
import { getClassOneDraws } from "tsch-ej-numbers";
console.log(getClassOneDraws(100));
```
<hr/>
### getMaxJackpotDraws(limit)
Returns all records with success in class one and a quota of 120.000.000,00 €.
- limit
- optional
- number of last records
- return type: TRecord[]
Code:
```
import { getMaxJackpotDraws } from "tsch-ej-numbers";
console.log(getMaxJackpotDraws());
console.log(getMaxJackpotDraws(0));
console.log(getMaxJackpotDraws(100));
```
<hr/>
### getWinningNumbersCount(limit)
Returns a key / value array for all winning numbers.
- limit
- optional
- number of last records
- return type: TWinningNumbersKeyValue[]
Code:
```
import { getWinningNumbersCount } from "tsch-ej-numbers";
console.log(getWinningNumbersCount());
console.log(getWinningNumbersCount(0));
console.log(getWinningNumbersCount(100));
```
<hr/>
### getEuroNumbersCount(limit)
Returns a key / value array for all euro numbers.
- limit
- optional
- number of last records
- return type: TEuroNumbersKeyValue[]
Code:
```
import { getEuroNumbersCount } from "tsch-ej-numbers";
console.log(getEuroNumbersCount());
console.log(getEuroNumbersCount(0));
console.log(getEuroNumbersCount(100));
```
<hr/>
### getDecadesCount()
Returns an object for decades with according count for all draws.
- countDecadeOne (winning numbers 1 - 10)
- countDecadeTwo (winning numbers 11 - 20)
- countDecadeThree (winning numbers 21 - 30)
- countDecadeFour (winning numbers 31 - 40)
- countDecadeFive (winning numbers 41 - 50)
Code:
```
import { getDecadesCount } from "tsch-ej-numbers";
console.log(getDecadesCount());
```
<hr/>
### getLowHighCount()
Returns an object for low and high sections with according count for all draws.
- countLow (winning numbers 1 - 25)
- countHigh (winning numbers 26 - 50)
Code:
```
import { getLowHighCount } from "tsch-ej-numbers";
console.log(getLowHighCount());
```
<hr/>
### getMinMaxQuotaCount()
Returns an object for all winning classes (1...12) with all corresponding sub-objects (min/max). These sub-objects return the date and the corresponding value for all draws.
Code:
```
import { getMinMaxQuotaCount } from "tsch-ej-numbers";
console.log(getMinMaxQuotaCount());
```
<hr/>
### getTopNumbers()
Returns an object with key-values for top winning and euro numbers for all draws.
- winning number (wn)
- euro number (en)
Code:
```
import { getTopNumbers } from "tsch-ej-numbers";
console.log(getTopNumbers());
```
<hr/>
### getFlopNumbers()
Returns an object with key-values for flop winning and euro numbers for all draws.
- winning number (wn)
- euro number (en)
Code:
```
import { getFlopNumbers } from "tsch-ej-numbers";
console.log(getFlopNumbers());
```
<hr/>
### getRecordByDate()
Returns a record for a given date.
- return type: TRecord | undefined
- undefined >>> no record available
Code:
```
import { getRecordByDate } from "tsch-ej-numbers";
console.log(getRecordByDate());
console.log(getRecordByDate("31.01.2020"));
console.log(getRecordByDate("32.01.2020"));
```
<hr/>
### getTuesdayFridayCount()
Returns an object for Tuesday and Friday with according count for all draws.
- countTuesday (number greater than 0)
- countFriday (number greater than 0)
Code:
```
import { getTuesdayFridayCount } from "tsch-ej-numbers";
console.log(getTuesdayFridayCount());
```
<hr/>
### getCountries()
Returns an array of objects for EuroJackpot countries with according codes.
- result example: [... {
name: "Germany",
alpha2Code: "DE",
alpha3Code: "DEU",
numericValue: "276",
}, ...]
Code:
```
import { getCountries } from "tsch-ej-numbers";
console.log(getCountries());
```
<hr/>
### getEvaluationPerYear()
Returns an object for evaluation evaluation per year.
- result example: {...
'2013': {
numberOfDraws: 52,
numberOfWinsClass1: 8,
stakeTotal: 893232174,
distributionTotal: 4321870.3,
profitTotal: 888910303.7
}, ...}
Code:
```
import { getEvaluationPerYear } from "tsch-ej-numbers";
console.log(getEvaluationPerYear());
```
<hr/>
### getWinningNumberFrequency(winningNumber)
Returns an array of strings for the selected number. If the array contains a date, then this exact number was drawn on that date. Otherwise, an empty value placeholder is shown.
- winningNumber (type: number) 1 ... 50
Code:
```
import { getWinningNumberFrequency } from "tsch-ej-numbers";
console.log(getWinningNumberFrequency(1));
console.log(getWinningNumberFrequency(50));
console.log(getWinningNumberFrequency());
```
<hr/>
### getEuroNumberFrequency(winningNumber)
Returns an array of strings for the selected number. If the array contains a date, then this exact number was drawn on that date. Otherwise, an empty value placeholder is shown.
- winningNumber (type: number) 1 ... 12
Code:
```
import { getEuroNumberFrequency } from "tsch-ej-numbers";
console.log(getEuroNumberFrequency(1));
console.log(getEuroNumberFrequency(12));
console.log(getEuroNumberFrequency());
```
<hr/>
### getAverages()
Returns two arrays for the average drawing of winning numbers and Euro numbers.
- key: winning or euro number
- drawingAvg: drawing average for according number
- drawingTotal: all draws for according number
Result:
```
{
winningNumbers: [
...
{ key: '5', drawingAvg: 11, drawingTotal: 72 },
...
],
euroNumbers: [
...
{ key: '5', drawingAvg: 5, drawingTotal: 174 },
...
]
}
```
Code:
```
import { getAverages } from "tsch-ej-numbers";
console.log(getAverages());
```
<hr/>
### getLastDrawOfWinningNumber(winningNumber)
Returns an object with key for according winning number and last draw:
- winning number (1 ... 50)
- type: number
Code:
```
import { getLastDrawOfWinningNumber } from "tsch-ej-numbers";
console.log(getLastDrawOfWinningNumber(5));
// result: { key: '5', beforeDrawings: 7 }
```
<hr/>
### getLastDrawOfEuroNumber(euroNumber)
Returns an object with key for according euro number and last draw:
- euro number (1 ... 12)
- type: number
Code:
```
import { getLastDrawOfWinningNumber } from "tsch-ej-numbers";
console.log(getLastDrawOfEuroNumber(3));
// result: { key: '3', beforeDrawings: 5 }
```
<hr/>
### getWinningNumbersOverdue()
Returns an array of objects with key and overdue (sorted):
- key as string for according winning number
- overdue as boolean (true/false)
Code:
```
import { getWinningNumbersOverdue } from "tsch-ej-numbers";
console.log(getWinningNumbersOverdue());
// result (sorted): [
{ key: '1', overdue: false },
...
{ key: '25', overdue: false },
...
{ key: '5', overdue: true },
...
{ key: '48', overdue: true }
]
```
<hr/>
### getEuroNumbersOverdue()
Returns an array of objects with key and overdue (sorted):
- key as string for according euro number
- overdue as boolean (true/false)
Code:
```
import { getEuroNumbersOverdue } from "tsch-ej-numbers";
console.log(getEuroNumbersOverdue());
// result (sorted): [
{ key: '1', overdue: false },
...
{ key: '7', overdue: false },
...
{ key: '2', overdue: true },
...
{ key: '10', overdue: true }
]
```