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.
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/parse-create-vip-bonus.d.ts +25 -0
- package/lib/utils/parse-create-vip-bonus.js +51 -0
- package/lib/utils/parse-create-vip-bonus.js.map +1 -0
- package/lib/utils/sports-competition-fixture.types.d.ts +1 -2
- package/lib/utils/sports-competition-fixture.types.js.map +1 -1
- package/lib/utils/sports.types.d.ts +1 -2
- package/lib/utils/sports.types.js.map +1 -1
- package/package.json +2 -2
- package/src/utils/parse-create-vip-bonus.spec.ts +180 -0
- package/src/utils/parse-create-vip-bonus.ts +75 -0
- package/src/utils/sports-competition-fixture.types.ts +0 -1
- package/src/utils/sports.types.ts +1 -2
|
@@ -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,
|
|
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;
|
|
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":";;;;AAGA,IAAY,oBASX;AATD,WAAY,oBAAoB;IAC9B,2CAAmB,CAAA;IACnB,uCAAe,CAAA;IACf,6CAAqB,CAAA;IAKrB,yCAAiB,CAAA;AACnB,CAAC,EATW,oBAAoB,oCAApB,oBAAoB,QAS/B;AAED,IAAY,uBAkBX;AAlBD,WAAY,uBAAuB;IACjC,wCAAa,CAAA;IACb,0DAA+B,CAAA;IAC/B,0CAAe,CAAA;IACf,4DAAiC,CAAA;IACjC,8DAAmC,CAAA;IACnC,0DAA+B,CAAA;IAC/B,sDAA2B,CAAA;IAC3B,wDAA6B,CAAA;IAC7B,4DAAiC,CAAA;IACjC,8FAAmE,CAAA;IACnE,4EAAiD,CAAA;IACjD,kEAAuC,CAAA;IACvC,sDAA2B,CAAA;IAC3B,0DAA+B,CAAA;IAC/B,sDAA2B,CAAA;IAC3B,4CAAiB,CAAA;IACjB,gDAAqB,CAAA;AACvB,CAAC,EAlBW,uBAAuB,uCAAvB,uBAAuB,QAkBlC;AAED,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,oCAAa,CAAA;IAGb,8CAAuB,CAAA;IACvB,sCAAe,CAAA;IACf,0CAAmB,CAAA;AACrB,CAAC,EARW,mBAAmB,mCAAnB,mBAAmB,QAQ9B;AAED,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IAIvB,iDAA2B,CAAA;AAC7B,CAAC,EATW,kBAAkB,kCAAlB,kBAAkB,QAS7B;AAED,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,0CAAa,CAAA;IACb,8CAAiB,CAAA;IACjB,oDAAuB,CAAA;AACzB,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC;AAED,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,kDAAmB,CAAA;IACnB,sDAAuB,CAAA;IACvB,oDAAqB,CAAA;IACrB,0DAA2B,CAAA;AAC7B,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC;AAED,IAAY,iCAMX;AAND,WAAY,iCAAiC;IAC3C,oDAAe,CAAA;IACf,sDAAiB,CAAA;IACjB,wDAAmB,CAAA;IACnB,sDAAiB,CAAA;IACjB,sDAAiB,CAAA;AACnB,CAAC,EANW,iCAAiC,iDAAjC,iCAAiC,QAM5C;AAED,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,8BAAW,CAAA;IACX,gCAAa,CAAA;IACb,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;IACzB,oCAAiB,CAAA;AACnB,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AAED,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,0CAAyB,CAAA;IACzB,4BAAW,CAAA;AACb,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAED,IAAY,wBAaX;AAbD,WAAY,wBAAwB;IAClC,+CAAmB,CAAA;IACnB,yCAAa,CAAA;IACb,uCAAW,CAAA;IACX,6CAAiB,CAAA;IACjB,qDAAyB,CAAA;IACzB,6CAAiB,CAAA;IACjB,+DAAmC,CAAA;IACnC,+CAAmB,CAAA;IAInB,6CAAiB,CAAA;AACnB,CAAC,EAbW,wBAAwB,wCAAxB,wBAAwB,QAanC;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,gEAAqC,CAAA;IACrC,oEAAyC,CAAA;AAC3C,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC;AAED,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,0CAAa,CAAA;IACb,0CAAa,CAAA;AACf,CAAC,EAHW,yBAAyB,yCAAzB,yBAAyB,QAGpC;AAED,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,0CAAe,CAAA;IACf,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;AAC3B,CAAC,EALW,uBAAuB,uCAAvB,uBAAuB,QAKlC;AAqED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,6BAAY,CAAA;AACd,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,qCAAY,CAAA;IACZ,yCAAgB,CAAA;AAClB,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AAED,MAAa,+BAA+B;CAY3C;AAZD,0EAYC;AAED,MAAa,oBAAoB;CAOhC;AAPD,oDAOC;AAED,MAAa,sBAAuB,SAAQ,oBAAoB;CAE/D;AAFD,wDAEC;AAED,MAAa,eAAe;CAM3B;AAND,0CAMC;AAEY,QAAA,uBAAuB,GAAG,CAAC,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,CAAC,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAIpJ,IAAY,QAqBX;AArBD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA;IAET,qBAAS,CAAA;AACX,CAAC,EArBW,QAAQ,wBAAR,QAAQ,QAqBnB;AAED,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,uCAAa,CAAA;AACf,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAED,IAAY,gBAyEX;AAzED,WAAY,gBAAgB;IAE1B,uCAAmB,CAAA;IACnB,iDAA6B,CAAA;IAC7B,+DAA2C,CAAA;IAC3C,mDAA+B,CAAA;IAC/B,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;IACrB,iDAA6B,CAAA;IAC7B,+DAA2C,CAAA;IAC3C,mDAA+B,CAAA;IAC/B,6CAAyB,CAAA;IACzB,qDAAiC,CAAA;IACjC,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,mDAA+B,CAAA;IAG/B,yCAAqB,CAAA;IACrB,6DAAyC,CAAA;IACzC,6DAAyC,CAAA;IACzC,2DAAuC,CAAA;IACvC,+DAA2C,CAAA;IAC3C,2DAAuC,CAAA;IACvC,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,qDAAiC,CAAA;IAGjC,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IAGvB,+CAA2B,CAAA;IAC3B,yDAAqC,CAAA;IACrC,iDAA6B,CAAA;IAC7B,2DAAuC,CAAA;IACvC,+CAA2B,CAAA;IAC3B,yDAAqC,CAAA;IACrC,qDAAiC,CAAA;IACjC,+DAA2C,CAAA;IAC3C,uDAAmC,CAAA;IAGnC,qCAAiB,CAAA;IACjB,+CAA2B,CAAA;IAC3B,2CAAuB,CAAA;IAGvB,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;IAC7B,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;IAC7B,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,+CAA2B,CAAA;AAC7B,CAAC,EAzEW,gBAAgB,gCAAhB,gBAAgB,QAyE3B;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;AACvB,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AAED,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,yCAAa,CAAA;AACf,CAAC,EAHW,wBAAwB,wCAAxB,wBAAwB,QAGnC;AAED,IAAY,MAmEX;AAnED,WAAY,MAAM;IAEhB,iDAAuC,CAAA;IACvC,iCAAuB,CAAA;IACvB,+BAAqB,CAAA;IACrB,mCAAyB,CAAA;IACzB,yBAAe,CAAA;IACf,mCAAyB,CAAA;IACzB,2BAAiB,CAAA;IACjB,2BAAiB,CAAA;IACjB,6BAAmB,CAAA;IACnB,qBAAW,CAAA;IACX,2BAAiB,CAAA;IACjB,uCAA6B,CAAA;IAC7B,uBAAa,CAAA;IACb,qCAA2B,CAAA;IAC3B,mCAAyB,CAAA;IACzB,6BAAmB,CAAA;IACnB,qCAA2B,CAAA;IAC3B,2BAAiB,CAAA;IACjB,+BAAqB,CAAA;IACrB,2BAAiB,CAAA;IACjB,iCAAuB,CAAA;IACvB,mBAAS,CAAA;IACT,mEAAyD,CAAA;IACzD,yDAA+C,CAAA;IAC/C,iDAAuC,CAAA;IACvC,+CAAqC,CAAA;IACrC,uCAA6B,CAAA;IAC7B,6BAAmB,CAAA;IACnB,+BAAqB,CAAA;IAIrB,qBAAW,CAAA;IACX,iCAAuB,CAAA;IACvB,qCAA2B,CAAA;IAC3B,yCAA+B,CAAA;IAC/B,6CAAmC,CAAA;IACnC,qBAAW,CAAA;IACX,yBAAe,CAAA;IACf,iCAAuB,CAAA;IACvB,qBAAW,CAAA;IACX,qBAAW,CAAA;IACX,uCAA6B,CAAA;IAC7B,+BAAqB,CAAA;IACrB,qBAAW,CAAA;IACX,qBAAW,CAAA;IACX,mBAAS,CAAA;IACT,mBAAS,CAAA;IACT,uBAAa,CAAA;IACb,mBAAS,CAAA;IACT,qBAAW,CAAA;IACX,qBAAW,CAAA;IACX,mBAAS,CAAA;IACT,+BAAqB,CAAA;IACrB,iCAAuB,CAAA;IACvB,qCAA2B,CAAA;IAG3B,qCAA2B,CAAA;IAC3B,+BAAqB,CAAA;IACrB,uBAAa,CAAA;IACb,uBAAa,CAAA;IACb,yBAAe,CAAA;IACf,qCAA2B,CAAA;IAC3B,qBAAW,CAAA;AACb,CAAC,EAnEW,MAAM,sBAAN,MAAM,QAmEjB;AAID,MAAa,uBAAuB;CAQnC;AARD,0DAQC;AAED,MAAa,gBAAgB;CAK5B;AALD,4CAKC;AAED,MAAa,yBAAyB;CAGrC;AAHD,8DAGC;AAED,MAAa,qBAAqB;CAMjC;AAND,sDAMC;AAED,MAAa,YAAY;CAexB;AAfD,oCAeC;AAED,MAAa,kCAAkC;CAK9C;AALD,gFAKC;AAED,IAAY,kCAIX;AAJD,WAAY,kCAAkC;IAC5C,yDAAmB,CAAA;IACnB,uDAAiB,CAAA;IACjB,mEAA6B,CAAA;AAC/B,CAAC,EAJW,kCAAkC,kDAAlC,kCAAkC,QAI7C;AAED,IAAY,iBAmHX;AAnHD,WAAY,iBAAiB;IAC3B,wDAAmC,CAAA;IACnC,gDAA2B,CAAA;IAC3B,8DAAyC,CAAA;IACzC,gEAA2C,CAAA;IAC3C,oEAA+C,CAAA;IAC/C,sEAAiD,CAAA;IACjD,oEAA+C,CAAA;IAC/C,sEAAiD,CAAA;IACjD,wDAAmC,CAAA;IACnC,kEAA6C,CAAA;IAC7C,oEAA+C,CAAA;IAC/C,kEAA6C,CAAA;IAC7C,gDAA2B,CAAA;IAC3B,0DAAqC,CAAA;IACrC,wEAAmD,CAAA;IACnD,oDAA+B,CAAA;IAC/B,8DAAyC,CAAA;IACzC,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAC/C,gEAA2C,CAAA;IAC3C,wDAAmC,CAAA;IACnC,wDAAmC,CAAA;IACnC,kDAA6B,CAAA;IAC7B,8DAAyC,CAAA;IACzC,oEAA+C,CAAA;IAC/C,4DAAuC,CAAA;IACvC,sEAAiD,CAAA;IACjD,sDAAiC,CAAA;IACjC,gEAA2C,CAAA;IAC3C,oDAA+B,CAAA;IAE/B,4DAAuC,CAAA;IACvC,oEAA+C,CAAA;IAC/C,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,oDAA+B,CAAA;IAC/B,wDAAmC,CAAA;IACnC,4DAAuC,CAAA;IACvC,0DAAqC,CAAA;IACrC,wDAAmC,CAAA;IACnC,oDAA+B,CAAA;IAC/B,wEAAmD,CAAA;IACnD,kDAA6B,CAAA;IAC7B,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,sEAAiD,CAAA;IACjD,oDAA+B,CAAA;IAC/B,4DAAuC,CAAA;IACvC,sDAAiC,CAAA;IACjC,0DAAqC,CAAA;IACrC,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,sDAAiC,CAAA;IACjC,wDAAmC,CAAA;IACnC,sDAAiC,CAAA;IACjC,oDAA+B,CAAA;IAC/B,kEAA6C,CAAA;IAC7C,gDAA2B,CAAA;IAC3B,4DAAuC,CAAA;IACvC,gDAA2B,CAAA;IAC3B,kDAA6B,CAAA;IAC7B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,wDAAmC,CAAA;IACnC,gDAA2B,CAAA;IAC3B,4EAAuD,CAAA;IACvD,gEAA2C,CAAA;IAC3C,wDAAmC,CAAA;IAGnC,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,0FAAqE,CAAA;IACrE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,4FAAuE,CAAA;IACvE,oJAA+H,CAAA;IAC/H,kKAA6I,CAAA;IAC7I,8EAAyD,CAAA;IACzD,kFAA6D,CAAA;AAC/D,CAAC,EAnHW,iBAAiB,iCAAjB,iBAAiB,QAmH5B;AAED,MAAa,YAAY;CAGxB;AAHD,oCAGC;AAED,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,mCAAW,CAAA;AACb,CAAC,EAFW,oBAAoB,oCAApB,oBAAoB,QAE/B;AAID,MAAa,gBAAgB;CAU5B;AAVD,4CAUC;AAED,MAAa,mBAAoB,SAAQ,gBAAgB;CAGxD;AAHD,kDAGC;AAED,MAAa,YAAa,SAAQ,gBAAgB;CAKjD;AALD,oCAKC;AAED,MAAa,cAAc;CAO1B;AAPD,wCAOC;AAED,MAAa,YAAY;CAIxB;AAJD,oCAIC;AAED,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,wCAAa,CAAA;IACb,2CAAgB,CAAA;IAChB,0CAAe,CAAA;AACjB,CAAC,EAJW,uBAAuB,uCAAvB,uBAAuB,QAIlC;AAcD,MAAa,aAAa;CAYzB;AAZD,sCAYC;AAED,MAAa,yBAA0B,SAAQ,oBAAoB;CAElE;AAFD,8DAEC;AAED,MAAa,gBAAgB;CAI5B;AAJD,4CAIC;AAED,MAAa,mBAAoB,SAAQ,gBAAgB;CAGxD;AAHD,kDAGC;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,6BAAU,CAAA;IACV,gCAAa,CAAA;IACb,wCAAqB,CAAA;AACvB,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,0BAAU,CAAA;AACZ,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAID,MAAa,uBAAuB;CAGnC;AAHD,0DAGC;AAED,MAAa,qBAAqB;CAOjC;AAPD,sDAOC;AAED,MAAa,kBAAkB;CAU9B;AAVD,gDAUC;AAED,IAAY,+BAIX;AAJD,WAAY,+BAA+B;IACzC,sGAAmE,CAAA;IACnE,gHAA6E,CAAA;IAC7E,kGAA+D,CAAA;AACjE,CAAC,EAJW,+BAA+B,+CAA/B,+BAA+B,QAI1C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shufflecom-calculations",
|
|
3
|
-
"version": "3.2.
|
|
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": "
|
|
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
|
+
}
|
|
@@ -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 {
|