@winible/winible-typed 2.72.0 → 2.72.1
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/dist/scripts/testModels.js +55 -45
- package/dist/scripts/testModels.js.map +1 -1
- package/dist/src/types.js +29 -1
- package/dist/src/types.js.map +1 -1
- package/dist/typed-model/affiliate-link.js +89 -0
- package/dist/typed-model/affiliate-link.js.map +1 -0
- package/dist/typed-model/bet-sport.js +42 -0
- package/dist/typed-model/bet-sport.js.map +1 -0
- package/dist/typed-model/bet.js +8 -66
- package/dist/typed-model/bet.js.map +1 -1
- package/dist/typed-model/compliance-rule-sportsbook.js +72 -0
- package/dist/typed-model/compliance-rule-sportsbook.js.map +1 -0
- package/dist/typed-model/compliance-rule.js +49 -0
- package/dist/typed-model/compliance-rule.js.map +1 -0
- package/dist/typed-model/default-compliance-policy.js +46 -0
- package/dist/typed-model/default-compliance-policy.js.map +1 -0
- package/dist/typed-model/index.js +30 -6
- package/dist/typed-model/index.js.map +1 -1
- package/dist/typed-model/league.js +38 -5
- package/dist/typed-model/league.js.map +1 -1
- package/dist/typed-model/market-on-bet-sport.js +58 -0
- package/dist/typed-model/market-on-bet-sport.js.map +1 -0
- package/dist/typed-model/market.js +37 -0
- package/dist/typed-model/market.js.map +1 -0
- package/dist/typed-model/odd.js +129 -0
- package/dist/typed-model/odd.js.map +1 -0
- package/dist/typed-model/odds-on-bets.js +53 -0
- package/dist/typed-model/odds-on-bets.js.map +1 -0
- package/dist/typed-model/odds-on-parlays.js +53 -0
- package/dist/typed-model/odds-on-parlays.js.map +1 -0
- package/dist/typed-model/parlay.js +55 -0
- package/dist/typed-model/parlay.js.map +1 -0
- package/dist/typed-model/parlays-on-bets.js +53 -0
- package/dist/typed-model/parlays-on-bets.js.map +1 -0
- package/dist/typed-model/sportsbook.js +56 -0
- package/dist/typed-model/sportsbook.js.map +1 -0
- package/package.json +1 -1
- package/typed-model/index.ts +3 -3
- package/typed-model/sportsbook.ts +0 -1
@@ -1,56 +1,66 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
26
|
-
var t = {};
|
27
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
28
|
-
t[p] = s[p];
|
29
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
30
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
31
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
32
|
-
t[p[i]] = s[p[i]];
|
33
|
-
}
|
34
|
-
return t;
|
35
|
-
};
|
36
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
37
3
|
exports.testModels = void 0;
|
38
4
|
require("dotenv").config();
|
39
|
-
const
|
40
|
-
const
|
41
|
-
const
|
42
|
-
const
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
5
|
+
const typed_model_1 = require("../typed-model");
|
6
|
+
const src_1 = require("../src");
|
7
|
+
const getPostBets = async (postId) => {
|
8
|
+
const Bets = await typed_model_1.Bet.findAll({
|
9
|
+
where: {
|
10
|
+
postId: postId,
|
11
|
+
},
|
12
|
+
});
|
13
|
+
const betsPromises = await Promise.all(Bets.map(async (bet) => {
|
14
|
+
if (bet.type === src_1.BetType.STRAIGHT) {
|
15
|
+
const oddsOnBets = await typed_model_1.OddsOnBets.findAll({
|
16
|
+
where: { betId: bet.id },
|
17
|
+
});
|
18
|
+
const odds = await typed_model_1.Odd.findAll({
|
19
|
+
where: { id: oddsOnBets.map((o) => o.oddId) },
|
47
20
|
});
|
48
|
-
|
21
|
+
return Object.assign(Object.assign({}, bet.get()), { odds: odds.map((o) => o.get()) });
|
49
22
|
}
|
50
|
-
|
51
|
-
|
23
|
+
if (bet.type === src_1.BetType.PARLAY) {
|
24
|
+
const parlaysOnBets = await typed_model_1.ParlaysOnBets.findAll({
|
25
|
+
where: { betId: bet.id },
|
26
|
+
});
|
27
|
+
const parlaysEntries = await typed_model_1.Parlay.findAll({
|
28
|
+
where: { id: parlaysOnBets.map((p) => p.parlayId) },
|
29
|
+
});
|
30
|
+
const parlaysWithOdds = await Promise.all(parlaysEntries.map(async (parlay) => {
|
31
|
+
const oddsOnParlays = await typed_model_1.OddsOnParlays.findAll({
|
32
|
+
where: { parlayId: parlay.id },
|
33
|
+
});
|
34
|
+
const odds = await typed_model_1.Odd.findAll({
|
35
|
+
where: { id: oddsOnParlays.map((o) => o.oddId) },
|
36
|
+
});
|
37
|
+
return Object.assign(Object.assign({}, parlay.get()), { odds: odds.map((o) => o.get()) });
|
38
|
+
}));
|
39
|
+
return Object.assign(Object.assign({}, bet.get()), { parlays: parlaysWithOdds });
|
52
40
|
}
|
41
|
+
return null;
|
42
|
+
}));
|
43
|
+
return betsPromises.filter((b) => b !== null);
|
44
|
+
};
|
45
|
+
const testModels = async () => {
|
46
|
+
try {
|
47
|
+
const bets = await getPostBets("1422973719038415271");
|
48
|
+
console.log(JSON.stringify(bets, null, 2));
|
49
|
+
}
|
50
|
+
catch (error) {
|
51
|
+
console.error(error);
|
53
52
|
}
|
53
|
+
// const modelEntries = Object.entries(models);
|
54
|
+
// for (const [modelName, model] of modelEntries) {
|
55
|
+
// try {
|
56
|
+
// await (model as ModelStatic<any>).findOne({
|
57
|
+
// limit: 1,
|
58
|
+
// });
|
59
|
+
// console.log(`✅ Successfully validated model: ${modelName}`);
|
60
|
+
// } catch (error: any) {
|
61
|
+
// console.error(`❌ Model ${modelName} failed: ${error.message}`);
|
62
|
+
// }
|
63
|
+
// }
|
54
64
|
};
|
55
65
|
exports.testModels = testModels;
|
56
66
|
(0, exports.testModels)();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"testModels.js","sourceRoot":"","sources":["../../scripts/testModels.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"testModels.js","sourceRoot":"","sources":["../../scripts/testModels.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.MessageTimingType = exports.CampaignMessageStatus = exports.CampaignStatus = exports.MessageChannel = exports.CampaignType = exports.NotificationType = exports.NotificationDeliveryMethod = exports.NotificationPreferenceType = exports.RewardType = exports.RewardFrequency = exports.ShouldRemoveSubscriberStatus = exports.SubscriptionPlanType = exports.VerifyStatus = exports.TemporalUnit = exports.DiscountType = exports.UserStoreRole = exports.UserRole = exports.UserStatus = void 0;
|
3
|
+
exports.ComplianceRuleType = exports.AffiliateLinkLinkTypes = exports.BetStatusType = exports.BetType = exports.StatusType = exports.MessageTimingType = exports.CampaignMessageStatus = exports.CampaignStatus = exports.MessageChannel = exports.CampaignType = exports.NotificationType = exports.NotificationDeliveryMethod = exports.NotificationPreferenceType = exports.RewardType = exports.RewardFrequency = exports.ShouldRemoveSubscriberStatus = exports.SubscriptionPlanType = exports.VerifyStatus = exports.TemporalUnit = exports.DiscountType = exports.UserStoreRole = exports.UserRole = exports.UserStatus = void 0;
|
4
4
|
var UserStatus;
|
5
5
|
(function (UserStatus) {
|
6
6
|
UserStatus["PENDING_REVIEW"] = "PENDING_REVIEW";
|
@@ -111,4 +111,32 @@ var MessageTimingType;
|
|
111
111
|
MessageTimingType["ABSOLUTE"] = "ABSOLUTE";
|
112
112
|
MessageTimingType["IMMEDIATE"] = "IMMEDIATE";
|
113
113
|
})(MessageTimingType = exports.MessageTimingType || (exports.MessageTimingType = {}));
|
114
|
+
var StatusType;
|
115
|
+
(function (StatusType) {
|
116
|
+
StatusType["ACTIVE"] = "active";
|
117
|
+
StatusType["INACTIVE"] = "inactive";
|
118
|
+
})(StatusType = exports.StatusType || (exports.StatusType = {}));
|
119
|
+
var BetType;
|
120
|
+
(function (BetType) {
|
121
|
+
BetType["STRAIGHT"] = "straight";
|
122
|
+
BetType["PARLAY"] = "parlay";
|
123
|
+
})(BetType = exports.BetType || (exports.BetType = {}));
|
124
|
+
var BetStatusType;
|
125
|
+
(function (BetStatusType) {
|
126
|
+
BetStatusType["WON"] = "won";
|
127
|
+
BetStatusType["LOST"] = "lost";
|
128
|
+
BetStatusType["OPEN"] = "open";
|
129
|
+
BetStatusType["VOID"] = "void";
|
130
|
+
})(BetStatusType = exports.BetStatusType || (exports.BetStatusType = {}));
|
131
|
+
var AffiliateLinkLinkTypes;
|
132
|
+
(function (AffiliateLinkLinkTypes) {
|
133
|
+
AffiliateLinkLinkTypes["WINIBLE"] = "winible";
|
134
|
+
AffiliateLinkLinkTypes["CREATOR"] = "creator";
|
135
|
+
AffiliateLinkLinkTypes["WINIBLE_CREATOR"] = "winible_creator";
|
136
|
+
})(AffiliateLinkLinkTypes = exports.AffiliateLinkLinkTypes || (exports.AffiliateLinkLinkTypes = {}));
|
137
|
+
var ComplianceRuleType;
|
138
|
+
(function (ComplianceRuleType) {
|
139
|
+
ComplianceRuleType["ALLOWED"] = "allowed";
|
140
|
+
ComplianceRuleType["RESTRICTED"] = "restricted";
|
141
|
+
})(ComplianceRuleType = exports.ComplianceRuleType || (exports.ComplianceRuleType = {}));
|
114
142
|
//# sourceMappingURL=types.js.map
|
package/dist/src/types.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,89 @@
|
|
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
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const types_1 = require("../src/types");
|
9
|
+
const user_1 = __importDefault(require("./user"));
|
10
|
+
const sportsbook_1 = __importDefault(require("./sportsbook"));
|
11
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
12
|
+
class AffiliateLinks extends sequelize_1.Model {
|
13
|
+
}
|
14
|
+
AffiliateLinks.init({
|
15
|
+
id: {
|
16
|
+
type: sequelize_1.DataTypes.BIGINT,
|
17
|
+
primaryKey: true,
|
18
|
+
allowNull: false,
|
19
|
+
defaultValue: pb_sequelize_1.default.fn("next_id"),
|
20
|
+
},
|
21
|
+
creatorId: {
|
22
|
+
type: sequelize_1.DataTypes.BIGINT,
|
23
|
+
allowNull: false,
|
24
|
+
references: {
|
25
|
+
model: user_1.default,
|
26
|
+
key: "id",
|
27
|
+
},
|
28
|
+
field: "creator_id",
|
29
|
+
},
|
30
|
+
sportsbookId: {
|
31
|
+
type: sequelize_1.DataTypes.BIGINT,
|
32
|
+
allowNull: false,
|
33
|
+
references: {
|
34
|
+
model: sportsbook_1.default,
|
35
|
+
key: "id",
|
36
|
+
},
|
37
|
+
field: "sportsbook_id",
|
38
|
+
},
|
39
|
+
type: {
|
40
|
+
type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.AffiliateLinkLinkTypes)),
|
41
|
+
allowNull: false,
|
42
|
+
},
|
43
|
+
cta: {
|
44
|
+
type: sequelize_1.DataTypes.STRING,
|
45
|
+
allowNull: false,
|
46
|
+
},
|
47
|
+
affiliateCode: {
|
48
|
+
type: sequelize_1.DataTypes.STRING,
|
49
|
+
allowNull: false,
|
50
|
+
field: "affiliate_code",
|
51
|
+
},
|
52
|
+
affiliateLink: {
|
53
|
+
type: sequelize_1.DataTypes.STRING,
|
54
|
+
allowNull: false,
|
55
|
+
field: "affiliate_link",
|
56
|
+
},
|
57
|
+
cpa: {
|
58
|
+
type: sequelize_1.DataTypes.STRING,
|
59
|
+
allowNull: false,
|
60
|
+
field: "cpa",
|
61
|
+
},
|
62
|
+
description: {
|
63
|
+
type: sequelize_1.DataTypes.STRING,
|
64
|
+
allowNull: false,
|
65
|
+
field: "description",
|
66
|
+
},
|
67
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
68
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
69
|
+
}, {
|
70
|
+
// Other model options go here
|
71
|
+
tableName: "affiliate_links",
|
72
|
+
comment: "Affiliate Links table, belongs to a user (creator_id)",
|
73
|
+
sequelize: pb_sequelize_1.default,
|
74
|
+
});
|
75
|
+
user_1.default.hasMany(AffiliateLinks, {
|
76
|
+
foreignKey: "creatorId",
|
77
|
+
sourceKey: "id",
|
78
|
+
onDelete: "NO ACTION",
|
79
|
+
constraints: false,
|
80
|
+
});
|
81
|
+
AffiliateLinks.belongsTo(user_1.default, { foreignKey: "creatorId" });
|
82
|
+
sportsbook_1.default.hasMany(AffiliateLinks, {
|
83
|
+
foreignKey: "sportsbookId",
|
84
|
+
sourceKey: "id",
|
85
|
+
onDelete: "NO ACTION",
|
86
|
+
constraints: false,
|
87
|
+
});
|
88
|
+
exports.default = AffiliateLinks;
|
89
|
+
//# sourceMappingURL=affiliate-link.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"affiliate-link.js","sourceRoot":"","sources":["../../typed-model/affiliate-link.ts"],"names":[],"mappings":";;;;;AAAA,yCAOmB;AAEnB,kEAAuC;AACvC,wCAAkE;AAClE,kDAA0B;AAC1B,8DAAsC;AAEtC,mEAAmE;AACnE,MAAM,cAAe,SAAQ,iBAG5B;CAcA;AAED,cAAc,CAAC,IAAI,CACjB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,cAAI;YACX,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,YAAY;KACpB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,oBAAU;YACjB,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,eAAe;KACvB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,8BAAsB,CAAC,CAAC;QAC9D,SAAS,EAAE,KAAK;KACjB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,gBAAgB;KACxB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,gBAAgB;KACxB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,KAAK;KACb;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,aAAa;KACrB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,uDAAuD;IAChE,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,cAAI,CAAC,OAAO,CAAC,cAAc,EAAE;IAC3B,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,cAAc,CAAC,SAAS,CAAC,cAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;AAE5D,oBAAU,CAAC,OAAO,CAAC,cAAc,EAAE;IACjC,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,kBAAe,cAAc,CAAC"}
|
@@ -0,0 +1,42 @@
|
|
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
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const types_1 = require("../src/types");
|
9
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
10
|
+
class BetSport extends sequelize_1.Model {
|
11
|
+
}
|
12
|
+
BetSport.init({
|
13
|
+
id: {
|
14
|
+
type: sequelize_1.DataTypes.BIGINT,
|
15
|
+
primaryKey: true,
|
16
|
+
allowNull: false,
|
17
|
+
defaultValue: pb_sequelize_1.default.fn("next_id"),
|
18
|
+
},
|
19
|
+
name: {
|
20
|
+
type: sequelize_1.DataTypes.STRING,
|
21
|
+
allowNull: false,
|
22
|
+
},
|
23
|
+
status: {
|
24
|
+
type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.StatusType)),
|
25
|
+
allowNull: false,
|
26
|
+
},
|
27
|
+
numericalId: {
|
28
|
+
type: sequelize_1.DataTypes.INTEGER,
|
29
|
+
allowNull: false,
|
30
|
+
comment: "Numerical ID provided by Odds Jam",
|
31
|
+
field: "numerical_id",
|
32
|
+
},
|
33
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
34
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
35
|
+
}, {
|
36
|
+
// Other model options go here
|
37
|
+
tableName: "bet_sports",
|
38
|
+
comment: "Bet sports synched from Odds Jam",
|
39
|
+
sequelize: pb_sequelize_1.default,
|
40
|
+
});
|
41
|
+
exports.default = BetSport;
|
42
|
+
//# sourceMappingURL=bet-sport.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bet-sport.js","sourceRoot":"","sources":["../../typed-model/bet-sport.ts"],"names":[],"mappings":";;;;;AAAA,yCAOmB;AAEnB,kEAAuC;AACvC,wCAA0C;AAE1C,mEAAmE;AACnE,MAAM,QAAS,SAAQ,iBAGtB;CASA;AAED,QAAQ,CAAC,IAAI,CACX;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC;QAClD,SAAS,EAAE,KAAK;KACjB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,mCAAmC;QAC5C,KAAK,EAAE,cAAc;KACtB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,kCAAkC;IAC3C,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
package/dist/typed-model/bet.js
CHANGED
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
const sequelize_1 = require("sequelize");
|
7
7
|
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
-
const user_1 = __importDefault(require("./user"));
|
9
8
|
const post_1 = __importDefault(require("./post"));
|
9
|
+
const types_1 = require("../src/types");
|
10
10
|
// order of InferAttributes & InferCreationAttributes is important.
|
11
11
|
class Bet extends sequelize_1.Model {
|
12
12
|
}
|
@@ -17,14 +17,6 @@ Bet.init({
|
|
17
17
|
allowNull: false,
|
18
18
|
defaultValue: pb_sequelize_1.default.fn("next_id"),
|
19
19
|
},
|
20
|
-
userId: {
|
21
|
-
type: sequelize_1.DataTypes.BIGINT,
|
22
|
-
allowNull: false,
|
23
|
-
field: "user_id",
|
24
|
-
references: {
|
25
|
-
model: user_1.default,
|
26
|
-
},
|
27
|
-
},
|
28
20
|
postId: {
|
29
21
|
type: sequelize_1.DataTypes.BIGINT,
|
30
22
|
allowNull: false,
|
@@ -33,69 +25,19 @@ Bet.init({
|
|
33
25
|
model: post_1.default,
|
34
26
|
},
|
35
27
|
},
|
36
|
-
|
37
|
-
type: sequelize_1.DataTypes.
|
38
|
-
allowNull: false,
|
39
|
-
field: "type",
|
40
|
-
},
|
41
|
-
stakeInCents: {
|
42
|
-
type: sequelize_1.DataTypes.INTEGER,
|
43
|
-
allowNull: true,
|
44
|
-
field: "stake_in_cents",
|
45
|
-
comment: "The amount of stake in cents (e.g., 5000 for $50)",
|
46
|
-
},
|
47
|
-
returnInCents: {
|
48
|
-
type: sequelize_1.DataTypes.INTEGER,
|
49
|
-
allowNull: true,
|
50
|
-
field: "return_in_cents",
|
51
|
-
comment: "The potential return amount in cents",
|
52
|
-
},
|
53
|
-
stakeInUnits: {
|
54
|
-
type: sequelize_1.DataTypes.FLOAT,
|
55
|
-
allowNull: true,
|
56
|
-
field: "stake_in_units",
|
57
|
-
comment: "The amount of stake in units (e.g., 1.0 for 1 unit)",
|
58
|
-
},
|
59
|
-
returnInUnits: {
|
60
|
-
type: sequelize_1.DataTypes.FLOAT,
|
61
|
-
allowNull: true,
|
62
|
-
field: "return_in_units",
|
63
|
-
comment: "The potential return amount in units",
|
64
|
-
},
|
65
|
-
settled: {
|
66
|
-
type: sequelize_1.DataTypes.BOOLEAN,
|
28
|
+
status: {
|
29
|
+
type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.BetStatusType)),
|
67
30
|
allowNull: false,
|
68
|
-
defaultValue: false,
|
69
|
-
field: "settled",
|
70
|
-
},
|
71
|
-
result: {
|
72
|
-
type: sequelize_1.DataTypes.STRING,
|
73
|
-
allowNull: true,
|
74
|
-
field: "result",
|
75
|
-
comment: "Result of the bet: pending, won, lost, push",
|
76
|
-
},
|
77
|
-
events: {
|
78
|
-
type: sequelize_1.DataTypes.JSONB,
|
79
|
-
allowNull: true,
|
80
|
-
field: "events",
|
81
31
|
},
|
82
|
-
|
83
|
-
type: sequelize_1.DataTypes.
|
84
|
-
allowNull: true,
|
85
|
-
field: "metadata",
|
86
|
-
},
|
87
|
-
createdAt: {
|
88
|
-
type: sequelize_1.DataTypes.DATE,
|
89
|
-
allowNull: false,
|
90
|
-
field: "created_at",
|
91
|
-
},
|
92
|
-
updatedAt: {
|
93
|
-
type: sequelize_1.DataTypes.DATE,
|
32
|
+
type: {
|
33
|
+
type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.BetType)),
|
94
34
|
allowNull: false,
|
95
|
-
field: "updated_at",
|
96
35
|
},
|
36
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
37
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
97
38
|
}, {
|
98
39
|
tableName: "bets",
|
40
|
+
comment: "Bets table, relates a post to a bet and it's available odds or parlays",
|
99
41
|
sequelize: pb_sequelize_1.default,
|
100
42
|
});
|
101
43
|
post_1.default.hasMany(Bet, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bet.js","sourceRoot":"","sources":["../../typed-model/bet.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,kDAA0B;AAC1B,
|
1
|
+
{"version":3,"file":"bet.js","sourceRoot":"","sources":["../../typed-model/bet.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,kDAA0B;AAC1B,wCAAsD;AAEtD,mEAAmE;AACnE,MAAM,GAAI,SAAQ,iBAAyD;CAO1E;AAED,GAAG,CAAC,IAAI,CACN;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,cAAI;SACZ;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC;QACrD,SAAS,EAAE,KAAK;KACjB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,eAAO,CAAC,CAAC;QAC/C,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,SAAS,EAAE,MAAM;IACjB,OAAO,EACL,wEAAwE;IAC1E,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE;IAChB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,GAAG,CAAC,SAAS,CAAC,cAAI,EAAE;IAClB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,GAAG,CAAC"}
|
@@ -0,0 +1,72 @@
|
|
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
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
const types_1 = require("../src/types");
|
9
|
+
const compliance_rule_1 = __importDefault(require("./compliance-rule"));
|
10
|
+
const sportsbook_1 = __importDefault(require("./sportsbook"));
|
11
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
12
|
+
class ComplianceRuleSportsbook extends sequelize_1.Model {
|
13
|
+
}
|
14
|
+
ComplianceRuleSportsbook.init({
|
15
|
+
id: {
|
16
|
+
type: sequelize_1.DataTypes.BIGINT,
|
17
|
+
primaryKey: true,
|
18
|
+
allowNull: false,
|
19
|
+
defaultValue: pb_sequelize_1.default.fn("next_id"),
|
20
|
+
},
|
21
|
+
complianceRuleId: {
|
22
|
+
type: sequelize_1.DataTypes.BIGINT,
|
23
|
+
allowNull: false,
|
24
|
+
references: {
|
25
|
+
model: compliance_rule_1.default,
|
26
|
+
key: "id",
|
27
|
+
},
|
28
|
+
field: "compliance_rule_id",
|
29
|
+
},
|
30
|
+
sportsbookId: {
|
31
|
+
type: sequelize_1.DataTypes.BIGINT,
|
32
|
+
allowNull: false,
|
33
|
+
references: {
|
34
|
+
model: sportsbook_1.default,
|
35
|
+
key: "id",
|
36
|
+
},
|
37
|
+
field: "sportsbook_id",
|
38
|
+
comment: "References sportsbooks.id",
|
39
|
+
},
|
40
|
+
ruleType: {
|
41
|
+
type: sequelize_1.DataTypes.ENUM(...Object.values(types_1.ComplianceRuleType)),
|
42
|
+
allowNull: false,
|
43
|
+
field: "rule_type",
|
44
|
+
},
|
45
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
46
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
47
|
+
}, {
|
48
|
+
// Other model options go here
|
49
|
+
tableName: "compliance_rule_sportsbooks",
|
50
|
+
comment: "Sportsbook associations with compliance rules (allowed/restricted)",
|
51
|
+
sequelize: pb_sequelize_1.default,
|
52
|
+
});
|
53
|
+
// Define relationships
|
54
|
+
compliance_rule_1.default.hasMany(ComplianceRuleSportsbook, {
|
55
|
+
foreignKey: "complianceRuleId",
|
56
|
+
sourceKey: "id",
|
57
|
+
onDelete: "CASCADE",
|
58
|
+
});
|
59
|
+
ComplianceRuleSportsbook.belongsTo(compliance_rule_1.default, {
|
60
|
+
foreignKey: "complianceRuleId",
|
61
|
+
});
|
62
|
+
sportsbook_1.default.hasMany(ComplianceRuleSportsbook, {
|
63
|
+
foreignKey: "sportsbookId",
|
64
|
+
sourceKey: "id",
|
65
|
+
onDelete: "NO ACTION",
|
66
|
+
constraints: false,
|
67
|
+
});
|
68
|
+
ComplianceRuleSportsbook.belongsTo(sportsbook_1.default, {
|
69
|
+
foreignKey: "sportsbookId",
|
70
|
+
});
|
71
|
+
exports.default = ComplianceRuleSportsbook;
|
72
|
+
//# sourceMappingURL=compliance-rule-sportsbook.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"compliance-rule-sportsbook.js","sourceRoot":"","sources":["../../typed-model/compliance-rule-sportsbook.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,wCAAkD;AAClD,wEAA+C;AAC/C,8DAAsC;AAEtC,mEAAmE;AACnE,MAAM,wBAAyB,SAAQ,iBAGtC;CASA;AAED,wBAAwB,CAAC,IAAI,CAC3B;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,yBAAc;YACrB,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,oBAAoB;KAC5B;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,KAAK,EAAE,oBAAU;YACjB,GAAG,EAAE,IAAI;SACV;QACD,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,2BAA2B;KACrC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,0BAAkB,CAAC,CAAC;QAC1D,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,WAAW;KACnB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,6BAA6B;IACxC,OAAO,EACL,oEAAoE;IACtE,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,uBAAuB;AACvB,yBAAc,CAAC,OAAO,CAAC,wBAAwB,EAAE;IAC/C,UAAU,EAAE,kBAAkB;IAC9B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,SAAS;CACpB,CAAC,CAAC;AAEH,wBAAwB,CAAC,SAAS,CAAC,yBAAc,EAAE;IACjD,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAC;AAEH,oBAAU,CAAC,OAAO,CAAC,wBAAwB,EAAE;IAC3C,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,wBAAwB,CAAC,SAAS,CAAC,oBAAU,EAAE;IAC7C,UAAU,EAAE,cAAc;CAC3B,CAAC,CAAC;AAEH,kBAAe,wBAAwB,CAAC"}
|
@@ -0,0 +1,49 @@
|
|
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
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
9
|
+
class ComplianceRule extends sequelize_1.Model {
|
10
|
+
}
|
11
|
+
ComplianceRule.init({
|
12
|
+
id: {
|
13
|
+
type: sequelize_1.DataTypes.BIGINT,
|
14
|
+
primaryKey: true,
|
15
|
+
allowNull: false,
|
16
|
+
defaultValue: pb_sequelize_1.default.fn("next_id"),
|
17
|
+
},
|
18
|
+
country: {
|
19
|
+
type: sequelize_1.DataTypes.STRING(2),
|
20
|
+
allowNull: false,
|
21
|
+
comment: "ISO country code (US, UK, CA, etc.)",
|
22
|
+
},
|
23
|
+
state: {
|
24
|
+
type: sequelize_1.DataTypes.STRING(10),
|
25
|
+
allowNull: true,
|
26
|
+
comment: "State/province code (NY, CA, ON, etc.)",
|
27
|
+
},
|
28
|
+
requiresOnshore: {
|
29
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
30
|
+
allowNull: false,
|
31
|
+
defaultValue: false,
|
32
|
+
field: "requires_onshore",
|
33
|
+
},
|
34
|
+
isActive: {
|
35
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
36
|
+
allowNull: false,
|
37
|
+
defaultValue: true,
|
38
|
+
field: "is_active",
|
39
|
+
},
|
40
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
41
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
42
|
+
}, {
|
43
|
+
// Other model options go here
|
44
|
+
tableName: "compliance_rules",
|
45
|
+
comment: "Geography-based compliance rules for sportsbook access",
|
46
|
+
sequelize: pb_sequelize_1.default,
|
47
|
+
});
|
48
|
+
exports.default = ComplianceRule;
|
49
|
+
//# sourceMappingURL=compliance-rule.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"compliance-rule.js","sourceRoot":"","sources":["../../typed-model/compliance-rule.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AAEvC,mEAAmE;AACnE,MAAM,cAAe,SAAQ,iBAG5B;CAUA;AAED,cAAc,CAAC,IAAI,CACjB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACzB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,qCAAqC;KAC/C;IACD,KAAK,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,wCAAwC;KAClD;IACD,eAAe,EAAE;QACf,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,kBAAkB;KAC1B;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,WAAW;KACnB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,kBAAkB;IAC7B,OAAO,EAAE,wDAAwD;IACjE,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
@@ -0,0 +1,46 @@
|
|
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
|
+
const sequelize_1 = require("sequelize");
|
7
|
+
const pb_sequelize_1 = __importDefault(require("./pb-sequelize"));
|
8
|
+
// order of InferAttributes & InferCreationAttributes is important.
|
9
|
+
class DefaultCompliancePolicy extends sequelize_1.Model {
|
10
|
+
}
|
11
|
+
DefaultCompliancePolicy.init({
|
12
|
+
id: {
|
13
|
+
type: sequelize_1.DataTypes.BIGINT,
|
14
|
+
primaryKey: true,
|
15
|
+
allowNull: false,
|
16
|
+
defaultValue: pb_sequelize_1.default.fn("next_id"),
|
17
|
+
},
|
18
|
+
country: {
|
19
|
+
type: sequelize_1.DataTypes.STRING(2),
|
20
|
+
allowNull: false,
|
21
|
+
unique: true,
|
22
|
+
comment: "ISO country code",
|
23
|
+
},
|
24
|
+
allowByDefault: {
|
25
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
26
|
+
allowNull: false,
|
27
|
+
defaultValue: false,
|
28
|
+
field: "allow_by_default",
|
29
|
+
comment: "Whether to allow unlisted sportsbooks",
|
30
|
+
},
|
31
|
+
isActive: {
|
32
|
+
type: sequelize_1.DataTypes.BOOLEAN,
|
33
|
+
allowNull: false,
|
34
|
+
defaultValue: true,
|
35
|
+
field: "is_active",
|
36
|
+
},
|
37
|
+
createdAt: sequelize_1.DataTypes.DATE,
|
38
|
+
updatedAt: sequelize_1.DataTypes.DATE,
|
39
|
+
}, {
|
40
|
+
// Other model options go here
|
41
|
+
tableName: "default_compliance_policies",
|
42
|
+
comment: "Default compliance behavior by country",
|
43
|
+
sequelize: pb_sequelize_1.default,
|
44
|
+
});
|
45
|
+
exports.default = DefaultCompliancePolicy;
|
46
|
+
//# sourceMappingURL=default-compliance-policy.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"default-compliance-policy.js","sourceRoot":"","sources":["../../typed-model/default-compliance-policy.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AAEvC,mEAAmE;AACnE,MAAM,uBAAwB,SAAQ,iBAGrC;CASA;AAED,uBAAuB,CAAC,IAAI,CAC1B;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,sBAAS,CAAC,EAAE,CAAC,SAAS,CAAC;KACtC;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACzB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,kBAAkB;KAC5B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,uCAAuC;KACjD;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,WAAW;KACnB;IACD,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC1B,EACD;IACE,8BAA8B;IAC9B,SAAS,EAAE,6BAA6B;IACxC,OAAO,EAAE,wCAAwC;IACjD,SAAS,EAAT,sBAAS;CACV,CACF,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}
|