shufflecom-calculations 3.2.13 → 3.2.15

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,25 @@
1
+ import dayjs from 'dayjs';
2
+ import { VipBonusType } from './vip-bonus.type';
3
+ export interface BaseCreateVipBonusInput {
4
+ type: VipBonusType;
5
+ cadence?: number;
6
+ occurrence?: number;
7
+ firstOccurrenceActivationPeriod?: number;
8
+ expiryPerOccurrence?: number;
9
+ expiryDate?: Date;
10
+ }
11
+ export declare const VALID_RELOAD_VIP_BONUS_CADENCE: number[];
12
+ export declare const MIN_RELOAD_VIP_BONUS_OCCURRENCE = 3;
13
+ export declare const MAX_RELOAD_VIP_BONUS_OCCURRENCE = 50000;
14
+ type ParsedVipBonusData = {
15
+ cadence?: number | null;
16
+ occurrence: number;
17
+ firstOccurrenceActivationPeriod: number;
18
+ expiryPerOccurrence: number;
19
+ endAt: Date;
20
+ };
21
+ export declare function parseCreateVipBonusBaseInput({ date, bonus }: {
22
+ date: dayjs.Dayjs;
23
+ bonus: BaseCreateVipBonusInput;
24
+ }): ParsedVipBonusData;
25
+ export {};
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseCreateVipBonusBaseInput = exports.MAX_RELOAD_VIP_BONUS_OCCURRENCE = exports.MIN_RELOAD_VIP_BONUS_OCCURRENCE = exports.VALID_RELOAD_VIP_BONUS_CADENCE = void 0;
4
+ const vip_bonus_type_1 = require("./vip-bonus.type");
5
+ const minuteInSeconds = (min) => min * 60;
6
+ const hourInSeconds = (hour) => minuteInSeconds(hour * 60);
7
+ const dayInSeconds = (day) => hourInSeconds(day * 24);
8
+ exports.VALID_RELOAD_VIP_BONUS_CADENCE = [minuteInSeconds(10), hourInSeconds(1), hourInSeconds(8), dayInSeconds(1)];
9
+ exports.MIN_RELOAD_VIP_BONUS_OCCURRENCE = 3;
10
+ exports.MAX_RELOAD_VIP_BONUS_OCCURRENCE = 50000;
11
+ function parseCreateVipBonusBaseInput({ date, bonus }) {
12
+ if (bonus.type === vip_bonus_type_1.VipBonusType.RELOADED) {
13
+ const { cadence, occurrence, firstOccurrenceActivationPeriod, expiryPerOccurrence } = bonus;
14
+ if (!cadence || !exports.VALID_RELOAD_VIP_BONUS_CADENCE.includes(cadence)) {
15
+ throw new Error(`Vip Bonus (Reloaded) cadence must be oneOf ${exports.VALID_RELOAD_VIP_BONUS_CADENCE.join(', ')} seconds`);
16
+ }
17
+ if (!occurrence || occurrence > exports.MAX_RELOAD_VIP_BONUS_OCCURRENCE || occurrence < exports.MIN_RELOAD_VIP_BONUS_OCCURRENCE) {
18
+ throw new Error(`Vip Bonus (Reloaded) occurrence must be >= ${exports.MIN_RELOAD_VIP_BONUS_OCCURRENCE} and <= ${exports.MAX_RELOAD_VIP_BONUS_OCCURRENCE}`);
19
+ }
20
+ if (firstOccurrenceActivationPeriod === undefined) {
21
+ throw new Error('Vip Bonus (Reloaded) must have firstOccurrenceActivationPeriod defined');
22
+ }
23
+ if (expiryPerOccurrence === undefined) {
24
+ throw new Error('Vip Bonus (Reloaded) must have expiryPerOccurrence defined');
25
+ }
26
+ const endAt = date
27
+ .add(firstOccurrenceActivationPeriod, 'hour')
28
+ .add(cadence * (occurrence - 1), 'second')
29
+ .add(expiryPerOccurrence, 'second')
30
+ .toDate();
31
+ return {
32
+ cadence,
33
+ occurrence,
34
+ firstOccurrenceActivationPeriod,
35
+ expiryPerOccurrence,
36
+ endAt,
37
+ };
38
+ }
39
+ if (!(bonus === null || bonus === void 0 ? void 0 : bonus.expiryDate) || date.isAfter(bonus.expiryDate)) {
40
+ throw new Error(`Vip Bonus (Single) must have expiryDate that is > ${date.toISOString()}`);
41
+ }
42
+ return {
43
+ cadence: null,
44
+ occurrence: 1,
45
+ firstOccurrenceActivationPeriod: 0,
46
+ expiryPerOccurrence: 0,
47
+ endAt: bonus.expiryDate,
48
+ };
49
+ }
50
+ exports.parseCreateVipBonusBaseInput = parseCreateVipBonusBaseInput;
51
+ //# sourceMappingURL=parse-create-vip-bonus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-create-vip-bonus.js","sourceRoot":"","sources":["../../src/utils/parse-create-vip-bonus.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAWhD,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;AAClD,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;AACnE,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AAEjD,QAAA,8BAA8B,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5G,QAAA,+BAA+B,GAAG,CAAC,CAAC;AACpC,QAAA,+BAA+B,GAAG,KAAM,CAAC;AAUtD,SAAgB,4BAA4B,CAAC,EAAE,IAAI,EAAE,KAAK,EAAyD;IACjH,IAAI,KAAK,CAAC,IAAI,KAAK,6BAAY,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;QAE5F,IAAI,CAAC,OAAO,IAAI,CAAC,sCAA8B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,8CAA8C,sCAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrH,CAAC;QAED,IAAI,CAAC,UAAU,IAAI,UAAU,GAAG,uCAA+B,IAAI,UAAU,GAAG,uCAA+B,EAAE,CAAC;YAChH,MAAM,IAAI,KAAK,CAAC,8CAA8C,uCAA+B,WAAW,uCAA+B,EAAE,CAAC,CAAC;QAC7I,CAAC;QAED,IAAI,+BAA+B,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,KAAK,GAAG,IAAI;aACf,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC;aAC5C,GAAG,CAAC,OAAO,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;aACzC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC;aAClC,MAAM,EAAE,CAAC;QAEZ,OAAO;YACL,OAAO;YACP,UAAU;YACV,+BAA+B;YAC/B,mBAAmB;YACnB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC;QACb,+BAA+B,EAAE,CAAC;QAClC,mBAAmB,EAAE,CAAC;QACtB,KAAK,EAAE,KAAK,CAAC,UAAU;KACxB,CAAC;AACJ,CAAC;AA9CD,oEA8CC"}
@@ -1,4 +1,4 @@
1
- import { MatchStatusParts, Sports, SportsDefaultMarketInfo, SportsFixtureBannerType, SportsFixtureStatus, SportsMarketGroup, SportsMarketProvider, SportsMatchPhase, SportsMatchPhaseHomeAway, SportsMatchPhaseSummary, SportsMatchStatistics } from './sports.types';
1
+ import { MatchStatusParts, Sports, SportsDefaultMarketInfo, SportsFixtureBannerType, SportsFixtureStatus, SportsMarketGroup, SportsMarketProvider, SportsMatchPhaseHomeAway, SportsMatchPhaseSummary, SportsMatchStatistics } from './sports.types';
2
2
  export declare class DefaultMarketInfo {
3
3
  defaultMarket: SportsDefaultMarketInfo | null;
4
4
  threewayDefaultMarkets: SportsDefaultMarketInfo[];
@@ -17,7 +17,6 @@ export declare class CompetitorInfo {
17
17
  }
18
18
  export declare class MatchStateInfo {
19
19
  matchSummary?: {
20
- matchPhase?: SportsMatchPhase | null;
21
20
  homeScore?: string | null;
22
21
  awayScore?: string | null;
23
22
  possession?: SportsMatchPhaseHomeAway | null;
@@ -1 +1 @@
1
- {"version":3,"file":"sports-competition-fixture.types.js","sourceRoot":"","sources":["../../src/utils/sports-competition-fixture.types.ts"],"names":[],"mappings":";;;AAcA,MAAa,iBAAiB;CAG7B;AAHD,8CAGC;AAED,MAAa,UAAU;CAGtB;AAHD,gCAGC;AAED,MAAa,cAAc;CAO1B;AAPD,wCAOC;AAED,MAAa,cAAc;CAkB1B;AAlBD,wCAkBC;AAED,MAAa,iCAAiC;CAY7C;AAZD,8EAYC;AAED,MAAa,iBAAiB;CAqB7B;AArBD,8CAqBC;AAED,MAAa,gCAAiC,SAAQ,iBAAiB;CAEtE;AAFD,4EAEC;AAED,MAAa,0CAA2C,SAAQ,gCAAgC;CAE/F;AAFD,gGAEC;AAED,MAAa,2BAA2B;CAGvC;AAHD,kEAGC;AAED,MAAa,0CAA0C;CAGtD;AAHD,gGAGC;AAED,MAAa,iCAAkC,SAAQ,iCAAiC;CAGvF;AAHD,8EAGC;AAED,MAAa,+BAA+B;CAG3C;AAHD,0EAGC;AAED,MAAa,4BAA6B,SAAQ,+BAA+B;CAEhF;AAFD,oEAEC;AAED,MAAa,+BAA+B;CAG3C;AAHD,0EAGC;AAED,MAAa,wBAAwB;CAKpC;AALD,4DAKC"}
1
+ {"version":3,"file":"sports-competition-fixture.types.js","sourceRoot":"","sources":["../../src/utils/sports-competition-fixture.types.ts"],"names":[],"mappings":";;;AAcA,MAAa,iBAAiB;CAG7B;AAHD,8CAGC;AAED,MAAa,UAAU;CAGtB;AAHD,gCAGC;AAED,MAAa,cAAc;CAO1B;AAPD,wCAOC;AAED,MAAa,cAAc;CAiB1B;AAjBD,wCAiBC;AAED,MAAa,iCAAiC;CAY7C;AAZD,8EAYC;AAED,MAAa,iBAAiB;CAqB7B;AArBD,8CAqBC;AAED,MAAa,gCAAiC,SAAQ,iBAAiB;CAEtE;AAFD,4EAEC;AAED,MAAa,0CAA2C,SAAQ,gCAAgC;CAE/F;AAFD,gGAEC;AAED,MAAa,2BAA2B;CAGvC;AAHD,kEAGC;AAED,MAAa,0CAA0C;CAGtD;AAHD,gGAGC;AAED,MAAa,iCAAkC,SAAQ,iCAAiC;CAGvF;AAHD,8EAGC;AAED,MAAa,+BAA+B;CAG3C;AAHD,0EAGC;AAED,MAAa,4BAA6B,SAAQ,+BAA+B;CAEhF;AAFD,oEAEC;AAED,MAAa,+BAA+B;CAG3C;AAHD,0EAGC;AAED,MAAa,wBAAwB;CAKpC;AALD,4DAKC"}
@@ -355,7 +355,6 @@ export declare enum Sports {
355
355
  export type Nullable<T> = T | null;
356
356
  export declare class SportsMatchPhaseSummary {
357
357
  phase: number;
358
- phaseText?: Nullable<string>;
359
358
  matchPhase?: Nullable<SportsMatchPhase>;
360
359
  homeScore?: Nullable<string>;
361
360
  awayScore?: Nullable<string>;
@@ -382,7 +381,6 @@ export declare class SportsMatchStatistics {
382
381
  }
383
382
  export declare class MatchSummary {
384
383
  matchStatusDisplay: Nullable<MatchStatusParts[]>;
385
- matchPhase?: Nullable<SportsMatchPhase>;
386
384
  homeScore?: Nullable<string>;
387
385
  awayScore?: Nullable<string>;
388
386
  possession?: Nullable<SportsMatchPhaseHomeAway>;
@@ -538,6 +536,7 @@ export declare class BaseDisplayGroup {
538
536
  variantData: Nullable<{
539
537
  [MarketInfoVariantKey.MAP]?: MapVariant;
540
538
  }>;
539
+ is2UpAvailable: boolean;
541
540
  }
542
541
  export declare class DefaultDisplayGroup extends BaseDisplayGroup {
543
542
  typeId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sports.types.js","sourceRoot":"","sources":["../../src/utils/sports.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sports.types.js","sourceRoot":"","sources":["../../src/utils/sports.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shufflecom-calculations",
3
- "version": "3.2.13",
3
+ "version": "3.2.15",
4
4
  "description": "",
5
5
  "types": "lib/index.d.ts",
6
6
  "main": "lib/index.js",
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "author": "",
16
16
  "license": "ISC",
17
- "gitHead": "62fd8ab67720958710a9172809675cddbc4b4823"
17
+ "gitHead": "9f9ad1f34b24591c32c34a6d8f79c6b1ebca2216"
18
18
  }
@@ -0,0 +1,180 @@
1
+ import dayjs from 'dayjs';
2
+ import {
3
+ BaseCreateVipBonusInput,
4
+ MAX_RELOAD_VIP_BONUS_OCCURRENCE,
5
+ MIN_RELOAD_VIP_BONUS_OCCURRENCE,
6
+ parseCreateVipBonusBaseInput,
7
+ VALID_RELOAD_VIP_BONUS_CADENCE,
8
+ } from './parse-create-vip-bonus';
9
+ import { VipBonusType } from './vip-bonus.type';
10
+
11
+ describe('parseCreateVipBonusBaseInput', () => {
12
+ const date = dayjs('2024-01-01T00:00:00.000Z');
13
+
14
+ describe('RELOADED', () => {
15
+ const TEN_MINUTES_IN_SECONDS = 10 * 60;
16
+ const FIVE_MINUTES_IN_SECONDS = 5 * 60;
17
+
18
+ const validReloadedBonus = (): BaseCreateVipBonusInput => ({
19
+ type: VipBonusType.RELOADED,
20
+ cadence: TEN_MINUTES_IN_SECONDS,
21
+ occurrence: 5,
22
+ firstOccurrenceActivationPeriod: 5,
23
+ expiryPerOccurrence: FIVE_MINUTES_IN_SECONDS,
24
+ });
25
+
26
+ it('should return parsed data with correctly computed endAt for valid input', () => {
27
+ const bonus = validReloadedBonus();
28
+ const result = parseCreateVipBonusBaseInput({ date, bonus });
29
+
30
+ const expectedEndAt = date
31
+ .add(bonus.firstOccurrenceActivationPeriod!, 'hour')
32
+ .add(bonus.cadence! * (bonus.occurrence! - 1), 'second')
33
+ .add(bonus.expiryPerOccurrence!, 'second')
34
+ .toDate();
35
+
36
+ expect(result).toEqual({
37
+ cadence: bonus.cadence,
38
+ occurrence: bonus.occurrence,
39
+ firstOccurrenceActivationPeriod: bonus.firstOccurrenceActivationPeriod,
40
+ expiryPerOccurrence: bonus.expiryPerOccurrence,
41
+ endAt: expectedEndAt,
42
+ });
43
+ });
44
+
45
+ it('should accept every cadence in VALID_RELOAD_VIP_BONUS_CADENCE', () => {
46
+ VALID_RELOAD_VIP_BONUS_CADENCE.forEach(cadence => {
47
+ const bonus = { ...validReloadedBonus(), cadence };
48
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).not.toThrow();
49
+ });
50
+ });
51
+
52
+ it('should accept occurrence at the minimum boundary', () => {
53
+ const bonus = { ...validReloadedBonus(), occurrence: MIN_RELOAD_VIP_BONUS_OCCURRENCE };
54
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).not.toThrow();
55
+ });
56
+
57
+ it('should accept occurrence at the maximum boundary', () => {
58
+ const bonus = { ...validReloadedBonus(), occurrence: MAX_RELOAD_VIP_BONUS_OCCURRENCE };
59
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).not.toThrow();
60
+ });
61
+
62
+ it('should accept firstOccurrenceActivationPeriod = 0 (only undefined is rejected)', () => {
63
+ const bonus = { ...validReloadedBonus(), firstOccurrenceActivationPeriod: 0 };
64
+ const result = parseCreateVipBonusBaseInput({ date, bonus });
65
+ expect(result.firstOccurrenceActivationPeriod).toBe(0);
66
+ expect(result.endAt).toEqual(
67
+ date
68
+ .add(bonus.cadence! * (bonus.occurrence! - 1), 'second')
69
+ .add(bonus.expiryPerOccurrence!, 'second')
70
+ .toDate(),
71
+ );
72
+ });
73
+
74
+ it('should accept expiryPerOccurrence = 0 (only undefined is rejected)', () => {
75
+ const bonus = { ...validReloadedBonus(), expiryPerOccurrence: 0 };
76
+ const result = parseCreateVipBonusBaseInput({ date, bonus });
77
+ expect(result.expiryPerOccurrence).toBe(0);
78
+ expect(result.endAt).toEqual(
79
+ date
80
+ .add(bonus.firstOccurrenceActivationPeriod!, 'hour')
81
+ .add(bonus.cadence! * (bonus.occurrence! - 1), 'second')
82
+ .toDate(),
83
+ );
84
+ });
85
+
86
+ describe('cadence validation', () => {
87
+ it('should throw when cadence is undefined', () => {
88
+ const bonus: BaseCreateVipBonusInput = { ...validReloadedBonus(), cadence: undefined };
89
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow(
90
+ `Vip Bonus (Reloaded) cadence must be oneOf ${VALID_RELOAD_VIP_BONUS_CADENCE.join(', ')} seconds`,
91
+ );
92
+ });
93
+
94
+ it('should throw when cadence is 0 (falsy)', () => {
95
+ const bonus = { ...validReloadedBonus(), cadence: 0 };
96
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow(/cadence must be oneOf/);
97
+ });
98
+
99
+ it('should throw when cadence is not in the valid list', () => {
100
+ const bonus = { ...validReloadedBonus(), cadence: 999 };
101
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow(/cadence must be oneOf/);
102
+ });
103
+ });
104
+
105
+ describe('occurrence validation', () => {
106
+ it('should throw when occurrence is undefined', () => {
107
+ const bonus: BaseCreateVipBonusInput = { ...validReloadedBonus(), occurrence: undefined };
108
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow(
109
+ `Vip Bonus (Reloaded) occurrence must be >= ${MIN_RELOAD_VIP_BONUS_OCCURRENCE} and <= ${MAX_RELOAD_VIP_BONUS_OCCURRENCE}`,
110
+ );
111
+ });
112
+
113
+ it('should throw when occurrence is 0 (falsy)', () => {
114
+ const bonus = { ...validReloadedBonus(), occurrence: 0 };
115
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow(/occurrence must be >=/);
116
+ });
117
+
118
+ it('should throw when occurrence is below the minimum', () => {
119
+ const bonus = { ...validReloadedBonus(), occurrence: MIN_RELOAD_VIP_BONUS_OCCURRENCE - 1 };
120
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow(/occurrence must be >=/);
121
+ });
122
+
123
+ it('should throw when occurrence is above the maximum', () => {
124
+ const bonus = { ...validReloadedBonus(), occurrence: MAX_RELOAD_VIP_BONUS_OCCURRENCE + 1 };
125
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow(/occurrence must be >=/);
126
+ });
127
+ });
128
+
129
+ describe('firstOccurrenceActivationPeriod validation', () => {
130
+ it('should throw when firstOccurrenceActivationPeriod is undefined', () => {
131
+ const bonus: BaseCreateVipBonusInput = { ...validReloadedBonus(), firstOccurrenceActivationPeriod: undefined };
132
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow('Vip Bonus (Reloaded) must have firstOccurrenceActivationPeriod defined');
133
+ });
134
+ });
135
+
136
+ describe('expiryPerOccurrence validation', () => {
137
+ it('should throw when expiryPerOccurrence is undefined', () => {
138
+ const bonus: BaseCreateVipBonusInput = { ...validReloadedBonus(), expiryPerOccurrence: undefined };
139
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow('Vip Bonus (Reloaded) must have expiryPerOccurrence defined');
140
+ });
141
+ });
142
+ });
143
+
144
+ describe('SINGLE', () => {
145
+ it('should return parsed data using expiryDate as endAt for a future expiry', () => {
146
+ const expiryDate = date.add(7, 'day').toDate();
147
+ const bonus: BaseCreateVipBonusInput = {
148
+ type: VipBonusType.SINGLE,
149
+ expiryDate,
150
+ };
151
+
152
+ const result = parseCreateVipBonusBaseInput({ date, bonus });
153
+
154
+ expect(result).toEqual({
155
+ cadence: null,
156
+ occurrence: 1,
157
+ firstOccurrenceActivationPeriod: 0,
158
+ expiryPerOccurrence: 0,
159
+ endAt: expiryDate,
160
+ });
161
+ });
162
+
163
+ it('should throw when expiryDate is undefined', () => {
164
+ const bonus: BaseCreateVipBonusInput = {
165
+ type: VipBonusType.SINGLE,
166
+ };
167
+
168
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow(`Vip Bonus (Single) must have expiryDate that is > ${date.toISOString()}`);
169
+ });
170
+
171
+ it('should throw when expiryDate is in the past', () => {
172
+ const bonus: BaseCreateVipBonusInput = {
173
+ type: VipBonusType.SINGLE,
174
+ expiryDate: date.subtract(1, 'day').toDate(),
175
+ };
176
+
177
+ expect(() => parseCreateVipBonusBaseInput({ date, bonus })).toThrow(/Vip Bonus \(Single\) must have expiryDate that is >/);
178
+ });
179
+ });
180
+ });
@@ -0,0 +1,75 @@
1
+ import dayjs from 'dayjs';
2
+ import { VipBonusType } from './vip-bonus.type';
3
+
4
+ export interface BaseCreateVipBonusInput {
5
+ type: VipBonusType;
6
+ cadence?: number;
7
+ occurrence?: number;
8
+ firstOccurrenceActivationPeriod?: number;
9
+ expiryPerOccurrence?: number;
10
+ expiryDate?: Date;
11
+ }
12
+
13
+ const minuteInSeconds = (min: number) => min * 60;
14
+ const hourInSeconds = (hour: number) => minuteInSeconds(hour * 60);
15
+ const dayInSeconds = (day: number) => hourInSeconds(day * 24);
16
+
17
+ export const VALID_RELOAD_VIP_BONUS_CADENCE = [minuteInSeconds(10), hourInSeconds(1), hourInSeconds(8), dayInSeconds(1)];
18
+ export const MIN_RELOAD_VIP_BONUS_OCCURRENCE = 3;
19
+ export const MAX_RELOAD_VIP_BONUS_OCCURRENCE = 50_000;
20
+
21
+ type ParsedVipBonusData = {
22
+ cadence?: number | null;
23
+ occurrence: number;
24
+ firstOccurrenceActivationPeriod: number;
25
+ expiryPerOccurrence: number;
26
+ endAt: Date;
27
+ };
28
+
29
+ export function parseCreateVipBonusBaseInput({ date, bonus }: { date: dayjs.Dayjs; bonus: BaseCreateVipBonusInput }): ParsedVipBonusData {
30
+ if (bonus.type === VipBonusType.RELOADED) {
31
+ const { cadence, occurrence, firstOccurrenceActivationPeriod, expiryPerOccurrence } = bonus;
32
+
33
+ if (!cadence || !VALID_RELOAD_VIP_BONUS_CADENCE.includes(cadence)) {
34
+ throw new Error(`Vip Bonus (Reloaded) cadence must be oneOf ${VALID_RELOAD_VIP_BONUS_CADENCE.join(', ')} seconds`);
35
+ }
36
+
37
+ if (!occurrence || occurrence > MAX_RELOAD_VIP_BONUS_OCCURRENCE || occurrence < MIN_RELOAD_VIP_BONUS_OCCURRENCE) {
38
+ throw new Error(`Vip Bonus (Reloaded) occurrence must be >= ${MIN_RELOAD_VIP_BONUS_OCCURRENCE} and <= ${MAX_RELOAD_VIP_BONUS_OCCURRENCE}`);
39
+ }
40
+
41
+ if (firstOccurrenceActivationPeriod === undefined) {
42
+ throw new Error('Vip Bonus (Reloaded) must have firstOccurrenceActivationPeriod defined');
43
+ }
44
+
45
+ if (expiryPerOccurrence === undefined) {
46
+ throw new Error('Vip Bonus (Reloaded) must have expiryPerOccurrence defined');
47
+ }
48
+
49
+ const endAt = date
50
+ .add(firstOccurrenceActivationPeriod, 'hour')
51
+ .add(cadence * (occurrence - 1), 'second')
52
+ .add(expiryPerOccurrence, 'second')
53
+ .toDate();
54
+
55
+ return {
56
+ cadence,
57
+ occurrence,
58
+ firstOccurrenceActivationPeriod,
59
+ expiryPerOccurrence,
60
+ endAt,
61
+ };
62
+ }
63
+
64
+ if (!bonus?.expiryDate || date.isAfter(bonus.expiryDate)) {
65
+ throw new Error(`Vip Bonus (Single) must have expiryDate that is > ${date.toISOString()}`);
66
+ }
67
+
68
+ return {
69
+ cadence: null,
70
+ occurrence: 1,
71
+ firstOccurrenceActivationPeriod: 0,
72
+ expiryPerOccurrence: 0,
73
+ endAt: bonus.expiryDate,
74
+ };
75
+ }
@@ -33,7 +33,6 @@ export class CompetitorInfo {
33
33
 
34
34
  export class MatchStateInfo {
35
35
  matchSummary?: {
36
- matchPhase?: SportsMatchPhase | null;
37
36
  homeScore?: string | null;
38
37
  awayScore?: string | null;
39
38
  possession?: SportsMatchPhaseHomeAway | null;
@@ -428,7 +428,6 @@ export type Nullable<T> = T | null;
428
428
 
429
429
  export class SportsMatchPhaseSummary {
430
430
  phase: number;
431
- phaseText?: Nullable<string>;
432
431
  matchPhase?: Nullable<SportsMatchPhase>;
433
432
  homeScore?: Nullable<string>;
434
433
  awayScore?: Nullable<string>;
@@ -459,7 +458,6 @@ export class SportsMatchStatistics {
459
458
 
460
459
  export class MatchSummary {
461
460
  matchStatusDisplay: Nullable<MatchStatusParts[]>;
462
- matchPhase?: Nullable<SportsMatchPhase>;
463
461
  homeScore?: Nullable<string>;
464
462
  awayScore?: Nullable<string>;
465
463
  possession?: Nullable<SportsMatchPhaseHomeAway>;
@@ -625,6 +623,7 @@ export class BaseDisplayGroup {
625
623
  variantData: Nullable<{
626
624
  [MarketInfoVariantKey.MAP]?: MapVariant; // used for map market of oddin
627
625
  }>;
626
+ is2UpAvailable: boolean;
628
627
  }
629
628
 
630
629
  export class DefaultDisplayGroup extends BaseDisplayGroup {