shufflecom-calculations 3.3.10 → 3.3.11

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.
@@ -19,3 +19,8 @@ export declare function calculateSportsPayoutOdds(selections: SportsBetSelection
19
19
  isEstimation: boolean;
20
20
  }): BigNumber;
21
21
  export declare function deriveLegsFromSelections(sportsBetType: SportsBetType, selections: SportsBetSelectionInterface[], customBetTotalOddsDecimal: BigNumber): SportsBetLegInterface[];
22
+ export declare function getSystemBetSubBetLegs<TLeg>(legs: TLeg[], sportsSystemBetType: SportsSystemBetType): TLeg[][];
23
+ export declare function calculateSportsPayoutOddsFromLegs(legs: SportsBetLegInterface[], marketSelections: SportsMarketSelectionInterface[], opt: {
24
+ subBetLegs: SportsBetLegInterface[][] | null;
25
+ isEstimation: boolean;
26
+ }): BigNumber;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.deriveLegsFromSelections = exports.calculateSportsPayoutOdds = exports.getSystemBetSubBetSelections = exports.getSystemBetSubBetSelectionsAndIndex = exports.generateSystemBetIndexCombinations = exports.CUSTOM_BET_VOIDED_STATUSES = exports.SPORTS_BET_CASHOUT_PENDING_SELECTION_PENALTY = exports.SPORTS_BET_CASHOUT_MARGIN = exports.BPS_DIVISOR = exports.MARGIN_MAX_BPS = exports.MARGIN_MIN_BPS = void 0;
6
+ exports.calculateSportsPayoutOddsFromLegs = exports.getSystemBetSubBetLegs = exports.deriveLegsFromSelections = exports.calculateSportsPayoutOdds = exports.getSystemBetSubBetSelections = exports.getSystemBetSubBetSelectionsAndIndex = exports.generateSystemBetIndexCombinations = exports.CUSTOM_BET_VOIDED_STATUSES = exports.SPORTS_BET_CASHOUT_PENDING_SELECTION_PENALTY = exports.SPORTS_BET_CASHOUT_MARGIN = exports.BPS_DIVISOR = exports.MARGIN_MAX_BPS = exports.MARGIN_MIN_BPS = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const odds_1 = require("./odds");
9
9
  const sports_types_1 = require("./sports.types");
@@ -66,99 +66,28 @@ function getSystemBetSubBetSelections(selections, sportsSystemBetType) {
66
66
  }
67
67
  exports.getSystemBetSubBetSelections = getSystemBetSubBetSelections;
68
68
  function calculateSportsPayoutOdds(selections, marketSelections, opt) {
69
- const sportsCustomBetTotalOddsDecimal = opt === null || opt === void 0 ? void 0 : opt.sportsCustomBetTotalOddsDecimal;
70
- const subBetSelections = opt === null || opt === void 0 ? void 0 : opt.subBetSelections;
71
- if (sportsCustomBetTotalOddsDecimal) {
72
- if (selections.some(({ status }) => exports.CUSTOM_BET_VOIDED_STATUSES.includes(status))) {
73
- return new bignumber_js_1.default(1);
74
- }
75
- else if (selections.some(({ status }) => status === sports_types_1.SportsBetSelectionStatus.LOST)) {
76
- return new bignumber_js_1.default(0);
77
- }
78
- else {
79
- return (0, odds_1.limitTotalOddsDecimalPlaces)(sportsCustomBetTotalOddsDecimal);
80
- }
81
- }
82
- const marketSelectionMap = marketSelections.reduce((map, selection) => {
83
- map[selection.id] = selection;
84
- return map;
85
- }, {});
86
- if (subBetSelections) {
87
- let totalOddsDecimal = new bignumber_js_1.default(0);
88
- for (const subBetSelection of subBetSelections) {
89
- const subBetMarketSelections = subBetSelection.map(selection => marketSelectionMap[selection.marketSelectionId]);
90
- if (subBetMarketSelections.some(marketSelection => !marketSelection)) {
91
- throw new Error('Sub bet market selections not found');
92
- }
93
- const subBetOdds = calculateSportsPayoutOdds(subBetSelection, subBetMarketSelections, {
94
- sportsCustomBetTotalOddsDecimal: null,
95
- subBetSelections: null,
96
- isEstimation: opt === null || opt === void 0 ? void 0 : opt.isEstimation,
97
- });
98
- totalOddsDecimal = totalOddsDecimal.plus(subBetOdds);
69
+ var _a;
70
+ const sportsBetType = opt.sportsCustomBetTotalOddsDecimal !== null ? sports_types_1.SportsBetType.CUSTOM_BET : sports_types_1.SportsBetType.REGULAR;
71
+ const legs = deriveLegsFromSelections(sportsBetType, selections, (_a = opt.sportsCustomBetTotalOddsDecimal) !== null && _a !== void 0 ? _a : new bignumber_js_1.default(1));
72
+ const subBetLegs = opt.subBetSelections ? mapSubBetSelectionsToLegs(opt.subBetSelections, legs) : null;
73
+ return calculateSportsPayoutOddsFromLegs(legs, marketSelections, { subBetLegs, isEstimation: opt.isEstimation });
74
+ }
75
+ exports.calculateSportsPayoutOdds = calculateSportsPayoutOdds;
76
+ function mapSubBetSelectionsToLegs(subBetSelections, legs) {
77
+ const legByMarketSelectionId = new Map();
78
+ for (const leg of legs) {
79
+ for (const selection of leg.selections) {
80
+ legByMarketSelectionId.set(selection.marketSelectionId, leg);
99
81
  }
100
- return (0, odds_1.limitTotalOddsDecimalPlaces)(totalOddsDecimal.dividedBy(subBetSelections.length));
101
82
  }
102
- return (0, odds_1.limitTotalOddsDecimalPlaces)(selections.reduce((totalOddsDecimal, selection) => {
103
- var _a, _b, _c, _d;
104
- const selectionOddsDecimal = (0, odds_1.oddsFractionToDecimal)(selection.oddsNumerator, selection.oddsDenominator);
105
- const marketSelection = marketSelectionMap[selection.marketSelectionId];
106
- if (!marketSelection) {
107
- throw new Error('Market selection not found');
108
- }
109
- if (selection.status === sports_types_1.SportsBetSelectionStatus.LOST) {
110
- return (0, bignumber_js_1.default)(0);
83
+ return subBetSelections.map(subBet => subBet.map(selection => {
84
+ const leg = legByMarketSelectionId.get(selection.marketSelectionId);
85
+ if (!leg) {
86
+ throw new Error('Sub bet leg not found');
111
87
  }
112
- if (selection.status === sports_types_1.SportsBetSelectionStatus.WON) {
113
- return totalOddsDecimal.multipliedBy(selectionOddsDecimal);
114
- }
115
- if (selection.status === sports_types_1.SportsBetSelectionStatus.PARTIAL) {
116
- if (marketSelection.resultAdditionalData) {
117
- if ('percentageWin' in marketSelection.resultAdditionalData && 'percentagePush' in marketSelection.resultAdditionalData) {
118
- return totalOddsDecimal.multipliedBy(selectionOddsDecimal
119
- .multipliedBy((0, bignumber_js_1.default)((_a = marketSelection.resultAdditionalData) === null || _a === void 0 ? void 0 : _a.percentageWin).dividedBy(100))
120
- .plus((0, bignumber_js_1.default)((_b = marketSelection.resultAdditionalData) === null || _b === void 0 ? void 0 : _b.percentagePush).dividedBy(100)));
121
- }
122
- else if ('voidFactor' in marketSelection.resultAdditionalData && 'outcome' in marketSelection.resultAdditionalData) {
123
- if (marketSelection.resultAdditionalData.outcome === sports_types_1.OutcomeResult.WINNING) {
124
- return totalOddsDecimal.multipliedBy(selectionOddsDecimal
125
- .multipliedBy((0, bignumber_js_1.default)((_c = marketSelection.resultAdditionalData) === null || _c === void 0 ? void 0 : _c.voidFactor))
126
- .plus((0, bignumber_js_1.default)((_d = marketSelection.resultAdditionalData) === null || _d === void 0 ? void 0 : _d.voidFactor)));
127
- }
128
- return totalOddsDecimal.multipliedBy(marketSelection.resultAdditionalData.voidFactor || 0);
129
- }
130
- else if ('deadHeatFactor' in marketSelection.resultAdditionalData) {
131
- return totalOddsDecimal.multipliedBy(selectionOddsDecimal.multipliedBy(marketSelection.resultAdditionalData.deadHeatFactor || 0));
132
- }
133
- }
134
- return totalOddsDecimal;
135
- }
136
- if (selection.status === sports_types_1.SportsBetSelectionStatus.PLACED) {
137
- if (marketSelection.resultAdditionalData && 'countInPlace' in marketSelection.resultAdditionalData) {
138
- return totalOddsDecimal.multipliedBy(selectionOddsDecimal.dividedBy(marketSelection.resultAdditionalData.countInPlace));
139
- }
140
- return totalOddsDecimal;
141
- }
142
- if (selection.status === sports_types_1.SportsBetSelectionStatus.PUSHED) {
143
- return totalOddsDecimal;
144
- }
145
- if (selection.status === sports_types_1.SportsBetSelectionStatus.VOIDED || selection.status == sports_types_1.SportsBetSelectionStatus.PROVIDER_VOIDED) {
146
- return totalOddsDecimal;
147
- }
148
- if (selection.status === sports_types_1.SportsBetSelectionStatus.CASHED_OUT) {
149
- return calculateSelectionCashoutOdds(totalOddsDecimal, selectionOddsDecimal, marketSelection);
150
- }
151
- if (selection.status === sports_types_1.SportsBetSelectionStatus.PENDING) {
152
- if (opt === null || opt === void 0 ? void 0 : opt.isEstimation) {
153
- return totalOddsDecimal.multipliedBy(selectionOddsDecimal);
154
- }
155
- return calculateSelectionCashoutOdds(totalOddsDecimal, selectionOddsDecimal, marketSelection);
156
- }
157
- selection.status;
158
- return totalOddsDecimal;
159
- }, (0, bignumber_js_1.default)(1)));
88
+ return leg;
89
+ }));
160
90
  }
161
- exports.calculateSportsPayoutOdds = calculateSportsPayoutOdds;
162
91
  function calculateSelectionCashoutOdds(totalOddsDecimal, selectionOddsDecimal, marketSelection) {
163
92
  var _a, _b, _c, _d, _e;
164
93
  if (marketSelection === null || marketSelection === void 0 ? void 0 : marketSelection.additionalProbability) {
@@ -215,4 +144,105 @@ function deriveLegsFromSelections(sportsBetType, selections, customBetTotalOddsD
215
144
  }));
216
145
  }
217
146
  exports.deriveLegsFromSelections = deriveLegsFromSelections;
147
+ function getSystemBetSubBetLegs(legs, sportsSystemBetType) {
148
+ var _a;
149
+ const systemBetSizes = system_bet_types_1.SportsSystemBetTypeCombinations[sportsSystemBetType];
150
+ if (!systemBetSizes) {
151
+ throw new Error('Invalid system bet type');
152
+ }
153
+ if (!((_a = system_bet_types_1.SportsSystemBetTypeSelectionCountsToBetCounts[legs.length]) === null || _a === void 0 ? void 0 : _a[sportsSystemBetType])) {
154
+ throw new Error('Invalid selection count');
155
+ }
156
+ const combinations = systemBetSizes.flatMap(size => generateSystemBetIndexCombinations(legs.length, size));
157
+ return combinations.map(combination => combination.map(index => legs[index]));
158
+ }
159
+ exports.getSystemBetSubBetLegs = getSystemBetSubBetLegs;
160
+ function calculateSportsPayoutOddsFromLegs(legs, marketSelections, opt) {
161
+ const subBetLegs = opt === null || opt === void 0 ? void 0 : opt.subBetLegs;
162
+ const marketSelectionMap = marketSelections.reduce((map, selection) => {
163
+ map[selection.id] = selection;
164
+ return map;
165
+ }, {});
166
+ if (subBetLegs) {
167
+ let totalOddsDecimal = new bignumber_js_1.default(0);
168
+ for (const subBetLeg of subBetLegs) {
169
+ const subBetOdds = calculateSportsPayoutOddsFromLegs(subBetLeg, marketSelections, {
170
+ subBetLegs: null,
171
+ isEstimation: opt === null || opt === void 0 ? void 0 : opt.isEstimation,
172
+ });
173
+ totalOddsDecimal = totalOddsDecimal.plus(subBetOdds);
174
+ }
175
+ return (0, odds_1.limitTotalOddsDecimalPlaces)(totalOddsDecimal.dividedBy(subBetLegs.length));
176
+ }
177
+ return (0, odds_1.limitTotalOddsDecimalPlaces)(legs.reduce((totalOddsDecimal, leg) => totalOddsDecimal.multipliedBy(getLegPayoutOddsDecimal(leg, marketSelectionMap, opt.isEstimation)), new bignumber_js_1.default(1)));
178
+ }
179
+ exports.calculateSportsPayoutOddsFromLegs = calculateSportsPayoutOddsFromLegs;
180
+ function getLegPayoutOddsDecimal(leg, marketSelectionMap, isEstimation) {
181
+ var _a, _b, _c, _d;
182
+ if (leg.type === sports_types_1.SportsBetLegType.CUSTOM) {
183
+ if (leg.selections.some(({ status }) => exports.CUSTOM_BET_VOIDED_STATUSES.includes(status))) {
184
+ return new bignumber_js_1.default(1);
185
+ }
186
+ if (leg.selections.some(({ status }) => status === sports_types_1.SportsBetSelectionStatus.LOST)) {
187
+ return new bignumber_js_1.default(0);
188
+ }
189
+ return leg.oddsDecimal;
190
+ }
191
+ const [selection] = leg.selections;
192
+ const selectionOddsDecimal = (0, odds_1.oddsFractionToDecimal)(selection.oddsNumerator, selection.oddsDenominator);
193
+ const marketSelection = marketSelectionMap[selection.marketSelectionId];
194
+ if (!marketSelection) {
195
+ throw new Error('Market selection not found');
196
+ }
197
+ if (selection.status === sports_types_1.SportsBetSelectionStatus.LOST) {
198
+ return (0, bignumber_js_1.default)(0);
199
+ }
200
+ if (selection.status === sports_types_1.SportsBetSelectionStatus.WON) {
201
+ return selectionOddsDecimal;
202
+ }
203
+ if (selection.status === sports_types_1.SportsBetSelectionStatus.PARTIAL) {
204
+ if (marketSelection.resultAdditionalData) {
205
+ if ('percentageWin' in marketSelection.resultAdditionalData && 'percentagePush' in marketSelection.resultAdditionalData) {
206
+ return selectionOddsDecimal
207
+ .multipliedBy((0, bignumber_js_1.default)((_a = marketSelection.resultAdditionalData) === null || _a === void 0 ? void 0 : _a.percentageWin).dividedBy(100))
208
+ .plus((0, bignumber_js_1.default)((_b = marketSelection.resultAdditionalData) === null || _b === void 0 ? void 0 : _b.percentagePush).dividedBy(100));
209
+ }
210
+ else if ('voidFactor' in marketSelection.resultAdditionalData && 'outcome' in marketSelection.resultAdditionalData) {
211
+ if (marketSelection.resultAdditionalData.outcome === sports_types_1.OutcomeResult.WINNING) {
212
+ return selectionOddsDecimal
213
+ .multipliedBy((0, bignumber_js_1.default)((_c = marketSelection.resultAdditionalData) === null || _c === void 0 ? void 0 : _c.voidFactor))
214
+ .plus((0, bignumber_js_1.default)((_d = marketSelection.resultAdditionalData) === null || _d === void 0 ? void 0 : _d.voidFactor));
215
+ }
216
+ return new bignumber_js_1.default(marketSelection.resultAdditionalData.voidFactor || 0);
217
+ }
218
+ else if ('deadHeatFactor' in marketSelection.resultAdditionalData) {
219
+ return selectionOddsDecimal.multipliedBy(marketSelection.resultAdditionalData.deadHeatFactor || 0);
220
+ }
221
+ }
222
+ return new bignumber_js_1.default(1);
223
+ }
224
+ if (selection.status === sports_types_1.SportsBetSelectionStatus.PLACED) {
225
+ if (marketSelection.resultAdditionalData && 'countInPlace' in marketSelection.resultAdditionalData) {
226
+ return selectionOddsDecimal.dividedBy(marketSelection.resultAdditionalData.countInPlace);
227
+ }
228
+ return new bignumber_js_1.default(1);
229
+ }
230
+ if (selection.status === sports_types_1.SportsBetSelectionStatus.PUSHED) {
231
+ return new bignumber_js_1.default(1);
232
+ }
233
+ if (selection.status === sports_types_1.SportsBetSelectionStatus.VOIDED || selection.status === sports_types_1.SportsBetSelectionStatus.PROVIDER_VOIDED) {
234
+ return new bignumber_js_1.default(1);
235
+ }
236
+ if (selection.status === sports_types_1.SportsBetSelectionStatus.CASHED_OUT) {
237
+ return calculateSelectionCashoutOdds(new bignumber_js_1.default(1), selectionOddsDecimal, marketSelection);
238
+ }
239
+ if (selection.status === sports_types_1.SportsBetSelectionStatus.PENDING) {
240
+ if (isEstimation) {
241
+ return selectionOddsDecimal;
242
+ }
243
+ return calculateSelectionCashoutOdds(new bignumber_js_1.default(1), selectionOddsDecimal, marketSelection);
244
+ }
245
+ selection.status;
246
+ return new bignumber_js_1.default(1);
247
+ }
218
248
  //# sourceMappingURL=calculate-sports-payout-odds.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculate-sports-payout-odds.js","sourceRoot":"","sources":["../../src/sports/calculate-sports-payout-odds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculate-sports-payout-odds.js","sourceRoot":"","sources":["../../src/sports/calculate-sports-payout-odds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import { VipLevel } from '../types/vip-level.type';
2
+ import { Currency } from '../utils/currency';
3
+ import { MatchStatusParts, Sports, SportsBetLegType, SportsBetSelectionStatus, SportsBetStatus, SportsBetType, SportsFixtureBannerType, SportsFixtureStatus, SportsMarketProductId, SportsMarketProvider, SportsMarketSelectionResultStatus, SportsMarketSelectionStatus, SportsMarketStatus, SportsMatchPhaseHomeAway, SportsMatchPhaseSummary, SportsMatchStatistics } from './sports.types';
4
+ import { SportsSystemBetType } from './system-bet.types';
5
+ export interface SportsBetSelectionCategoryV3 {
6
+ id: string;
7
+ slug: string;
8
+ }
9
+ export interface SportsBetSelectionCompetitionV3 {
10
+ id: string;
11
+ slug: string;
12
+ name: string;
13
+ }
14
+ export interface SportsBetSelectionFixtureV3 {
15
+ provider: SportsMarketProvider;
16
+ id: string;
17
+ slug: string;
18
+ name: string;
19
+ startTime: string;
20
+ inPlayAllowed: boolean;
21
+ status: SportsFixtureStatus;
22
+ bannerType: SportsFixtureBannerType | null;
23
+ shortName: string;
24
+ }
25
+ export interface SportsBetSelectionCompetitorV3 {
26
+ isHome: boolean;
27
+ countryCode: string | null;
28
+ iconPath: string | null;
29
+ displayName: string;
30
+ abbreviation: string;
31
+ }
32
+ export interface SportsBetSelectionMarketV3 {
33
+ provider: SportsMarketProvider;
34
+ id: string;
35
+ name: string;
36
+ isOtc: boolean;
37
+ inPlay: boolean;
38
+ expiryTime: string | null;
39
+ status: SportsMarketStatus;
40
+ productId: SportsMarketProductId | null;
41
+ fullName: string;
42
+ lineValue: string | null;
43
+ }
44
+ export interface SportsBetSelectionMarketSelectionV3 {
45
+ id: string;
46
+ oddsNumerator: string;
47
+ oddsDenominator: string;
48
+ status: SportsMarketSelectionStatus;
49
+ resultStatus: SportsMarketSelectionResultStatus | null;
50
+ formattedName: string;
51
+ }
52
+ export interface SportsBetSelectionMatchSummaryV3 {
53
+ matchStatusDisplay: MatchStatusParts[];
54
+ homeScore: string | null;
55
+ awayScore: string | null;
56
+ possession: SportsMatchPhaseHomeAway | null;
57
+ currentRound: string | null;
58
+ timeRemaining: number | null;
59
+ stoppageTime: number | null;
60
+ stoppageTimeAnnounced: number | null;
61
+ timeElapsed: number | null;
62
+ clockRunning: boolean | null;
63
+ providerMessageTimestamp: string | null;
64
+ currentPhase: SportsMatchPhaseSummary | null;
65
+ phases: SportsMatchPhaseSummary[] | null;
66
+ statistics: SportsMatchStatistics | null;
67
+ }
68
+ export interface SportsBetSelectionMatchStateV3 {
69
+ matchSummary: SportsBetSelectionMatchSummaryV3 | null;
70
+ }
71
+ export interface SportsBetSelectionV3 {
72
+ id: string;
73
+ oddsNumerator: string;
74
+ oddsDenominator: string;
75
+ inPlay: boolean;
76
+ status: SportsBetSelectionStatus;
77
+ displayStatus: SportsBetSelectionStatus;
78
+ updatedAt: string;
79
+ createdAt: string;
80
+ sports: Sports;
81
+ streamExists: boolean;
82
+ category: SportsBetSelectionCategoryV3;
83
+ competition: SportsBetSelectionCompetitionV3;
84
+ fixture: SportsBetSelectionFixtureV3;
85
+ competitors: SportsBetSelectionCompetitorV3[];
86
+ marketSelection: SportsBetSelectionMarketSelectionV3;
87
+ market: SportsBetSelectionMarketV3;
88
+ matchState: SportsBetSelectionMatchStateV3 | null;
89
+ }
90
+ export interface SportsBetLegV3 {
91
+ id: string;
92
+ type: SportsBetLegType;
93
+ oddsDecimal: string;
94
+ updatedAt: string;
95
+ createdAt: string;
96
+ selections: SportsBetSelectionV3[];
97
+ }
98
+ export interface SportsBetSettlementV3 {
99
+ id: string;
100
+ payoutOddsDecimal: string;
101
+ payout: string;
102
+ createdAt: string;
103
+ }
104
+ export interface SportsBetCashoutAvailableV3 {
105
+ canCashout: boolean;
106
+ reason: string | null;
107
+ }
108
+ export interface SportsBetUserV3 {
109
+ id: string;
110
+ username: string;
111
+ vipLevel: VipLevel;
112
+ }
113
+ export interface SportsBetPayloadV3 {
114
+ id: string;
115
+ currency: Currency;
116
+ amount: string;
117
+ originalAmount: string | null;
118
+ totalOddsDecimal: string;
119
+ status: SportsBetStatus;
120
+ type: SportsBetType;
121
+ systemBetType: SportsSystemBetType | null;
122
+ isOtc: boolean;
123
+ updatedAt: string;
124
+ createdAt: string;
125
+ actualOddsDecimal: string;
126
+ cashoutOddsDecimal: string | null;
127
+ providerCashoutDisabled: boolean;
128
+ settlement: SportsBetSettlementV3 | null;
129
+ cashoutAvailable: SportsBetCashoutAvailableV3;
130
+ user: SportsBetUserV3 | null;
131
+ legs: SportsBetLegV3[];
132
+ }
133
+ export interface PaginatedSportsBetPayloadV3 {
134
+ nodes: SportsBetPayloadV3[];
135
+ nextCursor: string | null;
136
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=sports-bet.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sports-bet.types.js","sourceRoot":"","sources":["../../src/sports/sports-bet.types.ts"],"names":[],"mappings":""}