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.
@@ -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":"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"}
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"}
@@ -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 = /^.{8,24}$/;
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;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/regex/index.ts"],"names":[],"mappings":";;;AACa,QAAA,SAAS,GAAG,WAAW,CAAC;AAExB,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"}
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"}