shufflecom-calculations 3.0.4 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/games/baccarat.d.ts +54 -0
- package/lib/games/baccarat.js +224 -0
- package/lib/games/baccarat.js.map +1 -0
- package/lib/games/gameCalculation.d.ts +0 -6
- package/lib/games/gameCalculation.js +0 -9
- package/lib/games/gameCalculation.js.map +1 -1
- package/lib/index.d.ts +5 -0
- package/lib/index.js +19 -1
- package/lib/index.js.map +1 -1
- package/lib/regex/index.js +1 -1
- package/lib/regex/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/games/baccarat.spec.ts +805 -0
- package/src/games/baccarat.ts +273 -0
- package/src/games/chicken.spec.ts +5 -6
- package/src/games/gameCalculation.ts +0 -25
- package/src/index.ts +5 -0
- package/src/regex/index.ts +2 -2
- package/src/regex/regex.spec.ts +15 -6
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
export declare enum BaccaratBetType {
|
|
3
|
+
PLAYER = "PLAYER",
|
|
4
|
+
BANKER = "BANKER",
|
|
5
|
+
TIE = "TIE",
|
|
6
|
+
PLAYER_PAIR = "PLAYER_PAIR",
|
|
7
|
+
BANKER_PAIR = "BANKER_PAIR",
|
|
8
|
+
PERFECT_PAIR = "PERFECT_PAIR",
|
|
9
|
+
EITHER_PAIR = "EITHER_PAIR",
|
|
10
|
+
PLAYER_BONUS = "PLAYER_BONUS",
|
|
11
|
+
BANKER_BONUS = "BANKER_BONUS"
|
|
12
|
+
}
|
|
13
|
+
export declare enum BaccaratOutcome {
|
|
14
|
+
PLAYER_WIN = "PLAYER_WIN",
|
|
15
|
+
BANKER_WIN = "BANKER_WIN",
|
|
16
|
+
TIE = "TIE"
|
|
17
|
+
}
|
|
18
|
+
export interface BaccaratBet {
|
|
19
|
+
type: BaccaratBetType;
|
|
20
|
+
amount: BigNumber;
|
|
21
|
+
}
|
|
22
|
+
export interface BaccaratGameResult {
|
|
23
|
+
playerCards: number[];
|
|
24
|
+
bankerCards: number[];
|
|
25
|
+
playerHandValue: number;
|
|
26
|
+
bankerHandValue: number;
|
|
27
|
+
outcome: BaccaratOutcome;
|
|
28
|
+
}
|
|
29
|
+
export interface BaccaratTrendData {
|
|
30
|
+
outcome: BaccaratOutcome;
|
|
31
|
+
playerPair: boolean;
|
|
32
|
+
bankerPair: boolean;
|
|
33
|
+
}
|
|
34
|
+
export declare class Baccarat {
|
|
35
|
+
static getBaccaratCardValue(cardIndex: number): number;
|
|
36
|
+
static calcHandValue(cards: number[]): number;
|
|
37
|
+
static isNatural(handValue: number, cards: number[]): boolean;
|
|
38
|
+
private static shouldPlayerDrawThird;
|
|
39
|
+
private static shouldBankerDrawThird;
|
|
40
|
+
static getGameResult(hexString: string): BaccaratGameResult;
|
|
41
|
+
static hasPair(cards: number[]): boolean;
|
|
42
|
+
static getTrendData(result: BaccaratGameResult): BaccaratTrendData;
|
|
43
|
+
static hasPerfectPair(cards: number[]): boolean;
|
|
44
|
+
private static getBonusPayout;
|
|
45
|
+
static calcBetPayouts(bets: BaccaratBet[], result: BaccaratGameResult): {
|
|
46
|
+
payout: BigNumber;
|
|
47
|
+
multiplier: BigNumber;
|
|
48
|
+
};
|
|
49
|
+
static getGameOutcome(bets: BaccaratBet[], hexString: string): {
|
|
50
|
+
result: BaccaratGameResult;
|
|
51
|
+
payout: BigNumber;
|
|
52
|
+
multiplier: BigNumber;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Baccarat = exports.BaccaratOutcome = exports.BaccaratBetType = void 0;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
const cardGames_1 = require("./cardGames");
|
|
9
|
+
var BaccaratBetType;
|
|
10
|
+
(function (BaccaratBetType) {
|
|
11
|
+
BaccaratBetType["PLAYER"] = "PLAYER";
|
|
12
|
+
BaccaratBetType["BANKER"] = "BANKER";
|
|
13
|
+
BaccaratBetType["TIE"] = "TIE";
|
|
14
|
+
BaccaratBetType["PLAYER_PAIR"] = "PLAYER_PAIR";
|
|
15
|
+
BaccaratBetType["BANKER_PAIR"] = "BANKER_PAIR";
|
|
16
|
+
BaccaratBetType["PERFECT_PAIR"] = "PERFECT_PAIR";
|
|
17
|
+
BaccaratBetType["EITHER_PAIR"] = "EITHER_PAIR";
|
|
18
|
+
BaccaratBetType["PLAYER_BONUS"] = "PLAYER_BONUS";
|
|
19
|
+
BaccaratBetType["BANKER_BONUS"] = "BANKER_BONUS";
|
|
20
|
+
})(BaccaratBetType || (exports.BaccaratBetType = BaccaratBetType = {}));
|
|
21
|
+
var BaccaratOutcome;
|
|
22
|
+
(function (BaccaratOutcome) {
|
|
23
|
+
BaccaratOutcome["PLAYER_WIN"] = "PLAYER_WIN";
|
|
24
|
+
BaccaratOutcome["BANKER_WIN"] = "BANKER_WIN";
|
|
25
|
+
BaccaratOutcome["TIE"] = "TIE";
|
|
26
|
+
})(BaccaratOutcome || (exports.BaccaratOutcome = BaccaratOutcome = {}));
|
|
27
|
+
const PLAYER_WIN_MULTIPLIER = new bignumber_js_1.default(2);
|
|
28
|
+
const BANKER_WIN_MULTIPLIER = new bignumber_js_1.default(1.95);
|
|
29
|
+
const TIE_MULTIPLIER = new bignumber_js_1.default(9);
|
|
30
|
+
const PAIR_MULTIPLIER = new bignumber_js_1.default(12);
|
|
31
|
+
const EITHER_PAIR_MULTIPLIER = new bignumber_js_1.default(6);
|
|
32
|
+
const PERFECT_PAIR_ONE_HAND_MULTIPLIER = new bignumber_js_1.default(26);
|
|
33
|
+
const PERFECT_PAIR_BOTH_HANDS_MULTIPLIER = new bignumber_js_1.default(201);
|
|
34
|
+
const BONUS_NATURAL_WIN_MULTIPLIER = new bignumber_js_1.default(2);
|
|
35
|
+
const BONUS_NATURAL_TIE_MULTIPLIER = new bignumber_js_1.default(1);
|
|
36
|
+
const BONUS_NON_NATURAL_PAYOUT = {
|
|
37
|
+
4: new bignumber_js_1.default(2),
|
|
38
|
+
5: new bignumber_js_1.default(3),
|
|
39
|
+
6: new bignumber_js_1.default(5),
|
|
40
|
+
7: new bignumber_js_1.default(7),
|
|
41
|
+
8: new bignumber_js_1.default(11),
|
|
42
|
+
9: new bignumber_js_1.default(31),
|
|
43
|
+
};
|
|
44
|
+
class Baccarat {
|
|
45
|
+
static getBaccaratCardValue(cardIndex) {
|
|
46
|
+
const { value } = cardGames_1.CardGames.getCardDetails(cardIndex);
|
|
47
|
+
if (value === '10' || value === 'J' || value === 'Q' || value === 'K') {
|
|
48
|
+
return 0;
|
|
49
|
+
}
|
|
50
|
+
if (value === 'A') {
|
|
51
|
+
return 1;
|
|
52
|
+
}
|
|
53
|
+
return parseInt(value, 10);
|
|
54
|
+
}
|
|
55
|
+
static calcHandValue(cards) {
|
|
56
|
+
return cards.reduce((sum, card) => (sum + this.getBaccaratCardValue(card)) % 10, 0);
|
|
57
|
+
}
|
|
58
|
+
static isNatural(handValue, cards) {
|
|
59
|
+
return (handValue === 8 || handValue === 9) && cards.length === 2;
|
|
60
|
+
}
|
|
61
|
+
static shouldPlayerDrawThird(playerValue) {
|
|
62
|
+
return playerValue <= 5;
|
|
63
|
+
}
|
|
64
|
+
static shouldBankerDrawThird(bankerValue, playerThirdCardValue) {
|
|
65
|
+
if (playerThirdCardValue === null) {
|
|
66
|
+
return bankerValue <= 5;
|
|
67
|
+
}
|
|
68
|
+
if (bankerValue <= 2) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
if (bankerValue === 3) {
|
|
72
|
+
return playerThirdCardValue !== 8;
|
|
73
|
+
}
|
|
74
|
+
if (bankerValue === 4) {
|
|
75
|
+
return [2, 3, 4, 5, 6, 7].includes(playerThirdCardValue);
|
|
76
|
+
}
|
|
77
|
+
if (bankerValue === 5) {
|
|
78
|
+
return [4, 5, 6, 7].includes(playerThirdCardValue);
|
|
79
|
+
}
|
|
80
|
+
if (bankerValue === 6) {
|
|
81
|
+
return [6, 7].includes(playerThirdCardValue);
|
|
82
|
+
}
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
static getGameResult(hexString) {
|
|
86
|
+
const cardIndices = cardGames_1.CardGames.getResults([hexString]).slice(0, 6);
|
|
87
|
+
if (cardIndices.length !== 6) {
|
|
88
|
+
throw new Error(`Expected 6 card indices for Baccarat, but got ${cardIndices.length}.`);
|
|
89
|
+
}
|
|
90
|
+
const playerCards = [cardIndices[0], cardIndices[2]];
|
|
91
|
+
const bankerCards = [cardIndices[1], cardIndices[3]];
|
|
92
|
+
let playerHandValue = this.calcHandValue(playerCards);
|
|
93
|
+
let bankerHandValue = this.calcHandValue(bankerCards);
|
|
94
|
+
let thirdCardIndex = 4;
|
|
95
|
+
const isNaturalWin = this.isNatural(playerHandValue, playerCards) || this.isNatural(bankerHandValue, bankerCards);
|
|
96
|
+
if (!isNaturalWin) {
|
|
97
|
+
let playerThirdCardValue = null;
|
|
98
|
+
if (this.shouldPlayerDrawThird(playerHandValue)) {
|
|
99
|
+
playerCards.push(cardIndices[thirdCardIndex]);
|
|
100
|
+
playerThirdCardValue = this.getBaccaratCardValue(cardIndices[thirdCardIndex]);
|
|
101
|
+
playerHandValue = this.calcHandValue(playerCards);
|
|
102
|
+
thirdCardIndex++;
|
|
103
|
+
}
|
|
104
|
+
if (this.shouldBankerDrawThird(bankerHandValue, playerThirdCardValue)) {
|
|
105
|
+
bankerCards.push(cardIndices[thirdCardIndex]);
|
|
106
|
+
bankerHandValue = this.calcHandValue(bankerCards);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
let outcome;
|
|
110
|
+
if (playerHandValue === bankerHandValue) {
|
|
111
|
+
outcome = BaccaratOutcome.TIE;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
outcome = playerHandValue > bankerHandValue ? BaccaratOutcome.PLAYER_WIN : BaccaratOutcome.BANKER_WIN;
|
|
115
|
+
}
|
|
116
|
+
return { playerCards, bankerCards, playerHandValue, bankerHandValue, outcome };
|
|
117
|
+
}
|
|
118
|
+
static hasPair(cards) {
|
|
119
|
+
return cardGames_1.CardGames.getCardDetails(cards[0]).value === cardGames_1.CardGames.getCardDetails(cards[1]).value;
|
|
120
|
+
}
|
|
121
|
+
static getTrendData(result) {
|
|
122
|
+
return {
|
|
123
|
+
outcome: result.outcome,
|
|
124
|
+
playerPair: Baccarat.hasPair(result.playerCards),
|
|
125
|
+
bankerPair: Baccarat.hasPair(result.bankerCards),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
static hasPerfectPair(cards) {
|
|
129
|
+
return cards[0] === cards[1];
|
|
130
|
+
}
|
|
131
|
+
static getBonusPayout(betType, result) {
|
|
132
|
+
var _a;
|
|
133
|
+
const { playerCards, bankerCards, playerHandValue, bankerHandValue, outcome } = result;
|
|
134
|
+
const isPlayerBonus = betType === BaccaratBetType.PLAYER_BONUS;
|
|
135
|
+
const isNaturalTie = this.isNatural(playerHandValue, playerCards) && this.isNatural(bankerHandValue, bankerCards) && outcome === BaccaratOutcome.TIE;
|
|
136
|
+
if (isNaturalTie) {
|
|
137
|
+
return BONUS_NATURAL_TIE_MULTIPLIER;
|
|
138
|
+
}
|
|
139
|
+
const sideBetWins = isPlayerBonus ? outcome === BaccaratOutcome.PLAYER_WIN : outcome === BaccaratOutcome.BANKER_WIN;
|
|
140
|
+
if (!sideBetWins) {
|
|
141
|
+
return new bignumber_js_1.default(0);
|
|
142
|
+
}
|
|
143
|
+
const sideHandValue = isPlayerBonus ? playerHandValue : bankerHandValue;
|
|
144
|
+
const otherHandValue = isPlayerBonus ? bankerHandValue : playerHandValue;
|
|
145
|
+
if (this.isNatural(sideHandValue, isPlayerBonus ? playerCards : bankerCards)) {
|
|
146
|
+
return BONUS_NATURAL_WIN_MULTIPLIER;
|
|
147
|
+
}
|
|
148
|
+
const margin = sideHandValue - otherHandValue;
|
|
149
|
+
return (_a = BONUS_NON_NATURAL_PAYOUT[margin]) !== null && _a !== void 0 ? _a : new bignumber_js_1.default(0);
|
|
150
|
+
}
|
|
151
|
+
static calcBetPayouts(bets, result) {
|
|
152
|
+
const { outcome } = result;
|
|
153
|
+
const playerHasPair = this.hasPair(result.playerCards);
|
|
154
|
+
const bankerHasPair = this.hasPair(result.bankerCards);
|
|
155
|
+
const playerHasPerfectPair = this.hasPerfectPair(result.playerCards);
|
|
156
|
+
const bankerHasPerfectPair = this.hasPerfectPair(result.bankerCards);
|
|
157
|
+
let totalPayout = new bignumber_js_1.default(0);
|
|
158
|
+
let totalBetAmount = new bignumber_js_1.default(0);
|
|
159
|
+
for (const bet of bets) {
|
|
160
|
+
totalBetAmount = totalBetAmount.plus(bet.amount);
|
|
161
|
+
let betPayout = new bignumber_js_1.default(0);
|
|
162
|
+
switch (bet.type) {
|
|
163
|
+
case BaccaratBetType.PLAYER:
|
|
164
|
+
if (outcome === BaccaratOutcome.PLAYER_WIN) {
|
|
165
|
+
betPayout = bet.amount.times(PLAYER_WIN_MULTIPLIER);
|
|
166
|
+
}
|
|
167
|
+
else if (outcome === BaccaratOutcome.TIE) {
|
|
168
|
+
betPayout = bet.amount;
|
|
169
|
+
}
|
|
170
|
+
break;
|
|
171
|
+
case BaccaratBetType.BANKER:
|
|
172
|
+
if (outcome === BaccaratOutcome.BANKER_WIN) {
|
|
173
|
+
betPayout = bet.amount.times(BANKER_WIN_MULTIPLIER);
|
|
174
|
+
}
|
|
175
|
+
else if (outcome === BaccaratOutcome.TIE) {
|
|
176
|
+
betPayout = bet.amount;
|
|
177
|
+
}
|
|
178
|
+
break;
|
|
179
|
+
case BaccaratBetType.TIE:
|
|
180
|
+
if (outcome === BaccaratOutcome.TIE) {
|
|
181
|
+
betPayout = bet.amount.times(TIE_MULTIPLIER);
|
|
182
|
+
}
|
|
183
|
+
break;
|
|
184
|
+
case BaccaratBetType.PLAYER_PAIR:
|
|
185
|
+
if (playerHasPair) {
|
|
186
|
+
betPayout = bet.amount.times(PAIR_MULTIPLIER);
|
|
187
|
+
}
|
|
188
|
+
break;
|
|
189
|
+
case BaccaratBetType.BANKER_PAIR:
|
|
190
|
+
if (bankerHasPair) {
|
|
191
|
+
betPayout = bet.amount.times(PAIR_MULTIPLIER);
|
|
192
|
+
}
|
|
193
|
+
break;
|
|
194
|
+
case BaccaratBetType.PERFECT_PAIR:
|
|
195
|
+
if (playerHasPerfectPair && bankerHasPerfectPair) {
|
|
196
|
+
betPayout = bet.amount.times(PERFECT_PAIR_BOTH_HANDS_MULTIPLIER);
|
|
197
|
+
}
|
|
198
|
+
else if (playerHasPerfectPair || bankerHasPerfectPair) {
|
|
199
|
+
betPayout = bet.amount.times(PERFECT_PAIR_ONE_HAND_MULTIPLIER);
|
|
200
|
+
}
|
|
201
|
+
break;
|
|
202
|
+
case BaccaratBetType.EITHER_PAIR:
|
|
203
|
+
if (playerHasPair || bankerHasPair) {
|
|
204
|
+
betPayout = bet.amount.times(EITHER_PAIR_MULTIPLIER);
|
|
205
|
+
}
|
|
206
|
+
break;
|
|
207
|
+
case BaccaratBetType.PLAYER_BONUS:
|
|
208
|
+
case BaccaratBetType.BANKER_BONUS:
|
|
209
|
+
betPayout = bet.amount.times(this.getBonusPayout(bet.type, result));
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
totalPayout = totalPayout.plus(betPayout);
|
|
213
|
+
}
|
|
214
|
+
const multiplier = totalBetAmount.gt(0) ? totalPayout.dividedBy(totalBetAmount) : new bignumber_js_1.default(0);
|
|
215
|
+
return { payout: totalPayout, multiplier };
|
|
216
|
+
}
|
|
217
|
+
static getGameOutcome(bets, hexString) {
|
|
218
|
+
const result = this.getGameResult(hexString);
|
|
219
|
+
const { payout, multiplier } = this.calcBetPayouts(bets, result);
|
|
220
|
+
return { result, payout, multiplier };
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
exports.Baccarat = Baccarat;
|
|
224
|
+
//# sourceMappingURL=baccarat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baccarat.js","sourceRoot":"","sources":["../../src/games/baccarat.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,4 @@ export declare abstract class GameCalculation {
|
|
|
7
7
|
private static getRandomInt;
|
|
8
8
|
static pickUniqueNumbers(hexStrings: string[], count: number, poolSize: number): number[];
|
|
9
9
|
static generateIndependentNumbers(hexStrings: string[], count: number, maxValue: number): number[];
|
|
10
|
-
static generateDigestHex({ serverSeed, clientSeed, nonce, rounds, }: {
|
|
11
|
-
serverSeed: string;
|
|
12
|
-
clientSeed: string;
|
|
13
|
-
nonce: string;
|
|
14
|
-
rounds: number;
|
|
15
|
-
}): string[];
|
|
16
10
|
}
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.GameCalculation = void 0;
|
|
7
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
8
|
const hex_to_bytes_1 = require("../utils/hex-to-bytes");
|
|
9
|
-
const crypto_1 = require("crypto");
|
|
10
9
|
class GameCalculation {
|
|
11
10
|
static bytesToProbability(byteArray, startIndex) {
|
|
12
11
|
let probability = new bignumber_js_1.default(0);
|
|
@@ -65,14 +64,6 @@ class GameCalculation {
|
|
|
65
64
|
}
|
|
66
65
|
return results;
|
|
67
66
|
}
|
|
68
|
-
static generateDigestHex({ serverSeed, clientSeed, nonce, rounds, }) {
|
|
69
|
-
const results = Array.from(Array(rounds).keys()).map(round => {
|
|
70
|
-
const hmac = (0, crypto_1.createHmac)('sha256', serverSeed);
|
|
71
|
-
hmac.update(`${clientSeed}:${nonce}:${round}`);
|
|
72
|
-
return hmac.digest('hex');
|
|
73
|
-
});
|
|
74
|
-
return results;
|
|
75
|
-
}
|
|
76
67
|
}
|
|
77
68
|
exports.GameCalculation = GameCalculation;
|
|
78
69
|
GameCalculation.BYTE_TOTAL = new bignumber_js_1.default(256);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gameCalculation.js","sourceRoot":"","sources":["../../src/games/gameCalculation.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,wDAAmD;
|
|
1
|
+
{"version":3,"file":"gameCalculation.js","sourceRoot":"","sources":["../../src/games/gameCalculation.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -18,5 +18,10 @@ export { Hilo, HiloGuess } from './games/hilo';
|
|
|
18
18
|
export { CardGames, CardDetail, CardValue, Suits, suitsArr } from './games/cardGames';
|
|
19
19
|
export { AirdropCalculator, AirdropAllocationInfo } from './airdrop/airdrop-calculator';
|
|
20
20
|
export { BlackjackAction, Blackjack, InsuranceStatus, PerfectPairType, TwentyOnePlusThreeType, perfectPairPayout, twentyOnePlusThreePayout, HandOutcome, } from './games/blackjack';
|
|
21
|
+
export { Baccarat, BaccaratBetType, BaccaratOutcome } from './games/baccarat';
|
|
22
|
+
export type { BaccaratBet, BaccaratGameResult } from './games/baccarat';
|
|
23
|
+
export { Chicken, ChickenDifficulty } from './games/chicken';
|
|
24
|
+
export { Tower, TowerDifficulty, TOWER_DIFFICULTY_TO_CONFIG, TOWER_TOTAL_ROWS } from './games/tower';
|
|
25
|
+
export { Wheel, WheelRiskLevel, WheelSegments, WHEEL_MULTIPLIERS, WHEEL_SEGMENTS_TO_NUMBER } from './games/wheel';
|
|
21
26
|
export { formatSelectionName } from './utils/sports-name';
|
|
22
27
|
export { SportsContentWithFixturesInfo } from './utils/sports-content-fixture.types';
|
package/lib/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.SportsContentWithFixturesInfo = exports.formatSelectionName = exports.HandOutcome = exports.twentyOnePlusThreePayout = exports.perfectPairPayout = exports.TwentyOnePlusThreeType = exports.PerfectPairType = exports.InsuranceStatus = exports.Blackjack = exports.BlackjackAction = exports.AirdropCalculator = exports.suitsArr = exports.Suits = exports.CardGames = exports.HiloGuess = exports.Hilo = exports.KenoRiskLevel = exports.Keno = exports.Limbo = exports.Crash = exports.PlinkoRiskLevel = exports.Plinko = exports.Mines = exports.Roulette = exports.DiceDirection = exports.Dice = exports.convertUuidToBs58 = exports.convertBs58ToUuid = exports.deriveBonusIssuances = exports.VipBonusIssuanceStatus = exports.DatesCalculator = exports.ChatMessageType = exports.getChatMessageLength = exports.CHAT_CHAR_LIMIT = exports.calculateEdgeMultiplier = exports.hexToBytes = void 0;
|
|
17
|
+
exports.SportsContentWithFixturesInfo = exports.formatSelectionName = exports.WHEEL_SEGMENTS_TO_NUMBER = exports.WHEEL_MULTIPLIERS = exports.WheelSegments = exports.WheelRiskLevel = exports.Wheel = exports.TOWER_TOTAL_ROWS = exports.TOWER_DIFFICULTY_TO_CONFIG = exports.TowerDifficulty = exports.Tower = exports.ChickenDifficulty = exports.Chicken = exports.BaccaratOutcome = exports.BaccaratBetType = exports.Baccarat = exports.HandOutcome = exports.twentyOnePlusThreePayout = exports.perfectPairPayout = exports.TwentyOnePlusThreeType = exports.PerfectPairType = exports.InsuranceStatus = exports.Blackjack = exports.BlackjackAction = exports.AirdropCalculator = exports.suitsArr = exports.Suits = exports.CardGames = exports.HiloGuess = exports.Hilo = exports.KenoRiskLevel = exports.Keno = exports.Limbo = exports.Crash = exports.PlinkoRiskLevel = exports.Plinko = exports.Mines = exports.Roulette = exports.DiceDirection = exports.Dice = exports.convertUuidToBs58 = exports.convertBs58ToUuid = exports.deriveBonusIssuances = exports.VipBonusIssuanceStatus = exports.DatesCalculator = exports.ChatMessageType = exports.getChatMessageLength = exports.CHAT_CHAR_LIMIT = exports.calculateEdgeMultiplier = exports.hexToBytes = void 0;
|
|
18
18
|
__exportStar(require("./regex"), exports);
|
|
19
19
|
var hex_to_bytes_1 = require("./utils/hex-to-bytes");
|
|
20
20
|
Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function () { return hex_to_bytes_1.hexToBytes; } });
|
|
@@ -69,6 +69,24 @@ Object.defineProperty(exports, "TwentyOnePlusThreeType", { enumerable: true, get
|
|
|
69
69
|
Object.defineProperty(exports, "perfectPairPayout", { enumerable: true, get: function () { return blackjack_1.perfectPairPayout; } });
|
|
70
70
|
Object.defineProperty(exports, "twentyOnePlusThreePayout", { enumerable: true, get: function () { return blackjack_1.twentyOnePlusThreePayout; } });
|
|
71
71
|
Object.defineProperty(exports, "HandOutcome", { enumerable: true, get: function () { return blackjack_1.HandOutcome; } });
|
|
72
|
+
var baccarat_1 = require("./games/baccarat");
|
|
73
|
+
Object.defineProperty(exports, "Baccarat", { enumerable: true, get: function () { return baccarat_1.Baccarat; } });
|
|
74
|
+
Object.defineProperty(exports, "BaccaratBetType", { enumerable: true, get: function () { return baccarat_1.BaccaratBetType; } });
|
|
75
|
+
Object.defineProperty(exports, "BaccaratOutcome", { enumerable: true, get: function () { return baccarat_1.BaccaratOutcome; } });
|
|
76
|
+
var chicken_1 = require("./games/chicken");
|
|
77
|
+
Object.defineProperty(exports, "Chicken", { enumerable: true, get: function () { return chicken_1.Chicken; } });
|
|
78
|
+
Object.defineProperty(exports, "ChickenDifficulty", { enumerable: true, get: function () { return chicken_1.ChickenDifficulty; } });
|
|
79
|
+
var tower_1 = require("./games/tower");
|
|
80
|
+
Object.defineProperty(exports, "Tower", { enumerable: true, get: function () { return tower_1.Tower; } });
|
|
81
|
+
Object.defineProperty(exports, "TowerDifficulty", { enumerable: true, get: function () { return tower_1.TowerDifficulty; } });
|
|
82
|
+
Object.defineProperty(exports, "TOWER_DIFFICULTY_TO_CONFIG", { enumerable: true, get: function () { return tower_1.TOWER_DIFFICULTY_TO_CONFIG; } });
|
|
83
|
+
Object.defineProperty(exports, "TOWER_TOTAL_ROWS", { enumerable: true, get: function () { return tower_1.TOWER_TOTAL_ROWS; } });
|
|
84
|
+
var wheel_1 = require("./games/wheel");
|
|
85
|
+
Object.defineProperty(exports, "Wheel", { enumerable: true, get: function () { return wheel_1.Wheel; } });
|
|
86
|
+
Object.defineProperty(exports, "WheelRiskLevel", { enumerable: true, get: function () { return wheel_1.WheelRiskLevel; } });
|
|
87
|
+
Object.defineProperty(exports, "WheelSegments", { enumerable: true, get: function () { return wheel_1.WheelSegments; } });
|
|
88
|
+
Object.defineProperty(exports, "WHEEL_MULTIPLIERS", { enumerable: true, get: function () { return wheel_1.WHEEL_MULTIPLIERS; } });
|
|
89
|
+
Object.defineProperty(exports, "WHEEL_SEGMENTS_TO_NUMBER", { enumerable: true, get: function () { return wheel_1.WHEEL_SEGMENTS_TO_NUMBER; } });
|
|
72
90
|
var sports_name_1 = require("./utils/sports-name");
|
|
73
91
|
Object.defineProperty(exports, "formatSelectionName", { enumerable: true, get: function () { return sports_name_1.formatSelectionName; } });
|
|
74
92
|
var sports_content_fixture_types_1 = require("./utils/sports-content-fixture.types");
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,qCAAuD;AAA9C,+GAAA,uBAAuB,OAAA;AAChC,qEAAqF;AAA5E,uHAAA,eAAe,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAC9C,+DAAyE;AAAhE,oHAAA,eAAe,OAAA;AACxB,6DAA2D;AAAlD,mHAAA,eAAe,OAAA;AACxB,yDAAgE;AAAvD,wHAAA,sBAAsB,OAAA;AAC/B,6DAAgE;AAAvD,wHAAA,oBAAoB,OAAA;AAC7B,yDAA8E;AAArE,mHAAA,iBAAiB,OAAA;AAAE,mHAAA,iBAAiB,OAAA;AAC7C,qCAAmD;AAA1C,4FAAA,IAAI,OAAA;AAAE,qGAAA,aAAa,OAAA;AAC5B,6CAA4C;AAAnC,oGAAA,QAAQ,OAAA;AACjB,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,yCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,yGAAA,eAAe,OAAA;AAChC,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,qCAAmD;AAA1C,4FAAA,IAAI,OAAA;AAAE,qGAAA,aAAa,OAAA;AAC5B,qCAA+C;AAAtC,4FAAA,IAAI,OAAA;AAAE,iGAAA,SAAS,OAAA;AACxB,+CAAsF;AAA7E,sGAAA,SAAS,OAAA;AAAyB,kGAAA,KAAK,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAC1D,mEAAwF;AAA/E,uHAAA,iBAAiB,OAAA;AAC1B,+CAS2B;AARzB,4GAAA,eAAe,OAAA;AACf,sGAAA,SAAS,OAAA;AACT,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,8GAAA,iBAAiB,OAAA;AACjB,qHAAA,wBAAwB,OAAA;AACxB,wGAAA,WAAW,OAAA;AAEb,mDAA0D;AAAjD,kHAAA,mBAAmB,OAAA;AAC5B,qFAAqF;AAA5E,6IAAA,6BAA6B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,qCAAuD;AAA9C,+GAAA,uBAAuB,OAAA;AAChC,qEAAqF;AAA5E,uHAAA,eAAe,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAC9C,+DAAyE;AAAhE,oHAAA,eAAe,OAAA;AACxB,6DAA2D;AAAlD,mHAAA,eAAe,OAAA;AACxB,yDAAgE;AAAvD,wHAAA,sBAAsB,OAAA;AAC/B,6DAAgE;AAAvD,wHAAA,oBAAoB,OAAA;AAC7B,yDAA8E;AAArE,mHAAA,iBAAiB,OAAA;AAAE,mHAAA,iBAAiB,OAAA;AAC7C,qCAAmD;AAA1C,4FAAA,IAAI,OAAA;AAAE,qGAAA,aAAa,OAAA;AAC5B,6CAA4C;AAAnC,oGAAA,QAAQ,OAAA;AACjB,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,yCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,yGAAA,eAAe,OAAA;AAChC,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,qCAAmD;AAA1C,4FAAA,IAAI,OAAA;AAAE,qGAAA,aAAa,OAAA;AAC5B,qCAA+C;AAAtC,4FAAA,IAAI,OAAA;AAAE,iGAAA,SAAS,OAAA;AACxB,+CAAsF;AAA7E,sGAAA,SAAS,OAAA;AAAyB,kGAAA,KAAK,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAC1D,mEAAwF;AAA/E,uHAAA,iBAAiB,OAAA;AAC1B,+CAS2B;AARzB,4GAAA,eAAe,OAAA;AACf,sGAAA,SAAS,OAAA;AACT,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,8GAAA,iBAAiB,OAAA;AACjB,qHAAA,wBAAwB,OAAA;AACxB,wGAAA,WAAW,OAAA;AAEb,6CAA8E;AAArE,oGAAA,QAAQ,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,2GAAA,eAAe,OAAA;AAEnD,2CAA6D;AAApD,kGAAA,OAAO,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AACnC,uCAAqG;AAA5F,8FAAA,KAAK,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAC7E,uCAAkH;AAAzG,8FAAA,KAAK,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,0GAAA,iBAAiB,OAAA;AAAE,iHAAA,wBAAwB,OAAA;AAC1F,mDAA0D;AAAjD,kHAAA,mBAAmB,OAAA;AAC5B,qFAAqF;AAA5E,6IAAA,6BAA6B,OAAA"}
|
package/lib/regex/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.US_PHONE_NUMBER_REGEX = exports.VALID_NAME_REGEX = exports.ADDRESS_URL_REGEX = exports.TXN_URL_REGEX = exports.TIMEZONE_OFFSET_REGEX = exports.MENTIONED_USER_REGEX = exports.HEX_COLOR_CODE_REGEX = exports.CAMPAIGN_CODE_REGEX = exports.PROMOTION_CODE_REGEX = exports.USERNAME_REGEX = exports.PWD_REGEX = void 0;
|
|
4
|
-
exports.PWD_REGEX =
|
|
4
|
+
exports.PWD_REGEX = /^(?=.*[0-9])(?=.*[a-zA-Z])(?=\S+$).{8,24}$/i;
|
|
5
5
|
exports.USERNAME_REGEX = /^[a-z\d]{3,16}$/i;
|
|
6
6
|
exports.PROMOTION_CODE_REGEX = /^[A-Z_\-\d]{3,25}$/;
|
|
7
7
|
exports.CAMPAIGN_CODE_REGEX = /^[a-z\d_\-]{1,30}$/i;
|
package/lib/regex/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/regex/index.ts"],"names":[],"mappings":";;;AACa,QAAA,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/regex/index.ts"],"names":[],"mappings":";;;AACa,QAAA,SAAS,GAAG,6CAA6C,CAAC;AAE1D,QAAA,cAAc,GAAG,kBAAkB,CAAC;AAEpC,QAAA,oBAAoB,GAAG,oBAAoB,CAAC;AAE5C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAE5C,QAAA,oBAAoB,GAAG,+BAA+B,CAAC;AAGvD,QAAA,oBAAoB,GAAG,2CAA2C,CAAC;AAEnE,QAAA,qBAAqB,GAAG,6CAA6C,CAAC;AAEtE,QAAA,aAAa,GAAG,0BAA0B,CAAC;AAE3C,QAAA,iBAAiB,GAAG,6BAA6B,CAAC;AAClD,QAAA,gBAAgB,GAAG,yCAAyC,CAAC;AAC7D,QAAA,qBAAqB,GAAG,aAAa,CAAC"}
|