tods-competition-factory 1.8.43 → 1.8.44
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/forge/generate.mjs +21 -11
- package/dist/forge/generate.mjs.map +1 -1
- package/dist/forge/query.d.ts +12 -11
- package/dist/forge/query.mjs +3 -3
- package/dist/forge/query.mjs.map +1 -1
- package/dist/forge/transform.mjs +25 -15
- package/dist/forge/transform.mjs.map +1 -1
- package/dist/index.mjs +74 -65
- package/dist/index.mjs.map +1 -1
- package/dist/tods-competition-factory.development.cjs.js +82 -96
- package/dist/tods-competition-factory.development.cjs.js.map +1 -1
- package/dist/tods-competition-factory.production.cjs.min.js +1 -1
- package/dist/tods-competition-factory.production.cjs.min.js.map +1 -1
- package/package.json +6 -6
|
@@ -2929,7 +2929,7 @@ var matchUpFormatCode = {
|
|
|
2929
2929
|
};
|
|
2930
2930
|
|
|
2931
2931
|
function factoryVersion() {
|
|
2932
|
-
return '1.8.
|
|
2932
|
+
return '1.8.44';
|
|
2933
2933
|
}
|
|
2934
2934
|
|
|
2935
2935
|
function getObjectTieFormat(obj) {
|
|
@@ -2991,6 +2991,53 @@ function resolveTieFormat(_a) {
|
|
|
2991
2991
|
};
|
|
2992
2992
|
}
|
|
2993
2993
|
|
|
2994
|
+
function decorateResult(_a) {
|
|
2995
|
+
var context = _a.context, result = _a.result, stack = _a.stack, info = _a.info;
|
|
2996
|
+
if (result && !Array.isArray(result === null || result === void 0 ? void 0 : result.stack))
|
|
2997
|
+
result.stack = [];
|
|
2998
|
+
if (result && Array.isArray(result === null || result === void 0 ? void 0 : result.stack) && typeof stack === 'string') {
|
|
2999
|
+
result.stack.push(stack);
|
|
3000
|
+
}
|
|
3001
|
+
if (result && info) {
|
|
3002
|
+
result.info = info;
|
|
3003
|
+
}
|
|
3004
|
+
if (result && typeof context === 'object' && Object.keys(context).length) {
|
|
3005
|
+
Object.assign(result, definedAttributes(context));
|
|
3006
|
+
}
|
|
3007
|
+
if (result && !(result === null || result === void 0 ? void 0 : result.error) && !(result === null || result === void 0 ? void 0 : result.success)) {
|
|
3008
|
+
Object.assign(result, __assign({}, SUCCESS));
|
|
3009
|
+
}
|
|
3010
|
+
return result !== null && result !== void 0 ? result : { success: true };
|
|
3011
|
+
}
|
|
3012
|
+
|
|
3013
|
+
var ANY = 'ANY';
|
|
3014
|
+
var MALE = 'MALE';
|
|
3015
|
+
var MIXED = 'MIXED';
|
|
3016
|
+
var OTHER$3 = 'OTHER';
|
|
3017
|
+
var FEMALE = 'FEMALE';
|
|
3018
|
+
var genderConstants = {
|
|
3019
|
+
ANY: ANY,
|
|
3020
|
+
MALE: MALE,
|
|
3021
|
+
FEMALE: FEMALE,
|
|
3022
|
+
MIXED: MIXED,
|
|
3023
|
+
OTHER: OTHER$3,
|
|
3024
|
+
};
|
|
3025
|
+
|
|
3026
|
+
var SINGLES_MATCHUP = 'SINGLES';
|
|
3027
|
+
var SINGLES$1 = 'SINGLES';
|
|
3028
|
+
var DOUBLES_MATCHUP = 'DOUBLES';
|
|
3029
|
+
var DOUBLES$1 = 'DOUBLES';
|
|
3030
|
+
var TEAM_MATCHUP = 'TEAM';
|
|
3031
|
+
var TEAM$2 = 'TEAM';
|
|
3032
|
+
var matchUpTypes = {
|
|
3033
|
+
SINGLES_MATCHUP: SINGLES_MATCHUP,
|
|
3034
|
+
SINGLES: SINGLES$1,
|
|
3035
|
+
DOUBLES_MATCHUP: DOUBLES_MATCHUP,
|
|
3036
|
+
DOUBLES: DOUBLES$1,
|
|
3037
|
+
TEAM_MATCHUP: TEAM_MATCHUP,
|
|
3038
|
+
TEAM: TEAM$2,
|
|
3039
|
+
};
|
|
3040
|
+
|
|
2994
3041
|
var DrawTypeEnum;
|
|
2995
3042
|
(function (DrawTypeEnum) {
|
|
2996
3043
|
DrawTypeEnum["AdHoc"] = "AD_HOC";
|
|
@@ -3551,58 +3598,36 @@ var SexEnum;
|
|
|
3551
3598
|
SexEnum["Other"] = "OTHER";
|
|
3552
3599
|
})(SexEnum || (SexEnum = {}));
|
|
3553
3600
|
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
result.stack.push(stack);
|
|
3560
|
-
}
|
|
3561
|
-
if (result && info) {
|
|
3562
|
-
result.info = info;
|
|
3563
|
-
}
|
|
3564
|
-
if (result && typeof context === 'object' && Object.keys(context).length) {
|
|
3565
|
-
Object.assign(result, definedAttributes(context));
|
|
3566
|
-
}
|
|
3567
|
-
if (result && !(result === null || result === void 0 ? void 0 : result.error) && !(result === null || result === void 0 ? void 0 : result.success)) {
|
|
3568
|
-
Object.assign(result, __assign({}, SUCCESS));
|
|
3569
|
-
}
|
|
3570
|
-
return result !== null && result !== void 0 ? result : { success: true };
|
|
3571
|
-
}
|
|
3572
|
-
|
|
3573
|
-
var ANY = 'ANY';
|
|
3574
|
-
var MALE = 'MALE';
|
|
3575
|
-
var MIXED = 'MIXED';
|
|
3576
|
-
var OTHER$3 = 'OTHER';
|
|
3577
|
-
var FEMALE = 'FEMALE';
|
|
3578
|
-
var genderConstants = {
|
|
3579
|
-
ANY: ANY,
|
|
3580
|
-
MALE: MALE,
|
|
3581
|
-
FEMALE: FEMALE,
|
|
3582
|
-
MIXED: MIXED,
|
|
3583
|
-
OTHER: OTHER$3,
|
|
3584
|
-
};
|
|
3585
|
-
|
|
3586
|
-
function genderValidityCheck(_a) {
|
|
3587
|
-
var referenceGender = _a.referenceGender, matchUpType = _a.matchUpType, gender = _a.gender;
|
|
3588
|
-
var stack = 'genderValidityCheck';
|
|
3601
|
+
var mixedGenderError = 'MIXED events can not contain mixed singles or { gender: ANY } collections';
|
|
3602
|
+
var anyMixedError = 'events with { gender: ANY } can not contain MIXED singles collections';
|
|
3603
|
+
function tieFormatGenderValidityCheck(_a) {
|
|
3604
|
+
var referenceEvent = _a.referenceEvent, referenceGender = _a.referenceGender, matchUpType = _a.matchUpType, gender = _a.gender;
|
|
3605
|
+
var stack = 'tieFormatGenderValidityCheck';
|
|
3589
3606
|
if (referenceGender &&
|
|
3590
3607
|
gender &&
|
|
3591
|
-
[GenderEnum.Male, GenderEnum.Female].includes(referenceGender)
|
|
3592
|
-
|
|
3593
|
-
return
|
|
3594
|
-
|
|
3595
|
-
:
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
stack: stack,
|
|
3599
|
-
});
|
|
3600
|
-
}
|
|
3608
|
+
[GenderEnum.Male, GenderEnum.Female].includes(referenceGender) &&
|
|
3609
|
+
referenceGender !== gender)
|
|
3610
|
+
return decorateResult({
|
|
3611
|
+
result: { valid: false, error: INVALID_GENDER },
|
|
3612
|
+
context: { gender: gender },
|
|
3613
|
+
stack: stack,
|
|
3614
|
+
});
|
|
3601
3615
|
if (referenceGender === MIXED &&
|
|
3602
|
-
(
|
|
3616
|
+
((referenceEvent === null || referenceEvent === void 0 ? void 0 : referenceEvent.eventType) !== TEAM$2 ||
|
|
3617
|
+
gender === ANY ||
|
|
3618
|
+
(gender === MIXED && matchUpType !== TypeEnum.Doubles))) {
|
|
3619
|
+
return decorateResult({
|
|
3620
|
+
result: { error: INVALID_GENDER, valid: false },
|
|
3621
|
+
info: mixedGenderError,
|
|
3622
|
+
stack: stack,
|
|
3623
|
+
});
|
|
3624
|
+
}
|
|
3625
|
+
if (referenceGender === ANY &&
|
|
3626
|
+
gender === MIXED &&
|
|
3627
|
+
matchUpType !== TypeEnum.Doubles)
|
|
3603
3628
|
return decorateResult({
|
|
3604
|
-
info: 'MIXED events can only contain MIXED doubles collections',
|
|
3605
3629
|
result: { error: INVALID_GENDER, valid: false },
|
|
3630
|
+
info: anyMixedError,
|
|
3606
3631
|
stack: stack,
|
|
3607
3632
|
});
|
|
3608
3633
|
return { valid: true };
|
|
@@ -4030,7 +4055,8 @@ function validateCollectionDefinition(_a) {
|
|
|
4030
4055
|
errors.push("Invalid matchUpFormat: ".concat(matchUpFormat));
|
|
4031
4056
|
}
|
|
4032
4057
|
if (checkGender) {
|
|
4033
|
-
var result =
|
|
4058
|
+
var result = tieFormatGenderValidityCheck({
|
|
4059
|
+
referenceEvent: event,
|
|
4034
4060
|
referenceGender: referenceGender,
|
|
4035
4061
|
matchUpType: matchUpType,
|
|
4036
4062
|
gender: gender,
|
|
@@ -4520,21 +4546,6 @@ function calculatePercentages(_a) {
|
|
|
4520
4546
|
});
|
|
4521
4547
|
}
|
|
4522
4548
|
|
|
4523
|
-
var SINGLES_MATCHUP = 'SINGLES';
|
|
4524
|
-
var SINGLES$1 = 'SINGLES';
|
|
4525
|
-
var DOUBLES_MATCHUP = 'DOUBLES';
|
|
4526
|
-
var DOUBLES$1 = 'DOUBLES';
|
|
4527
|
-
var TEAM_MATCHUP = 'TEAM';
|
|
4528
|
-
var TEAM$2 = 'TEAM';
|
|
4529
|
-
var matchUpTypes = {
|
|
4530
|
-
SINGLES_MATCHUP: SINGLES_MATCHUP,
|
|
4531
|
-
SINGLES: SINGLES$1,
|
|
4532
|
-
DOUBLES_MATCHUP: DOUBLES_MATCHUP,
|
|
4533
|
-
DOUBLES: DOUBLES$1,
|
|
4534
|
-
TEAM_MATCHUP: TEAM_MATCHUP,
|
|
4535
|
-
TEAM: TEAM$2,
|
|
4536
|
-
};
|
|
4537
|
-
|
|
4538
4549
|
function getParticipantResults(_a) {
|
|
4539
4550
|
var e_1, _b, e_2, _c, e_3, _d;
|
|
4540
4551
|
var _e, _f, _g, _h, _j, _k;
|
|
@@ -23220,12 +23231,6 @@ function getTournamentStructures(_a) {
|
|
|
23220
23231
|
return { structures: structures, stageStructures: stageStructures };
|
|
23221
23232
|
}
|
|
23222
23233
|
|
|
23223
|
-
/**
|
|
23224
|
-
*
|
|
23225
|
-
* @param {object} drawDefinition - complete drawDefinition object
|
|
23226
|
-
* @param {string} structureId - UUID of structure to be found within drawDefinition
|
|
23227
|
-
*
|
|
23228
|
-
*/
|
|
23229
23234
|
function structureActions(params) {
|
|
23230
23235
|
var actions = [];
|
|
23231
23236
|
if (!(params === null || params === void 0 ? void 0 : params.drawDefinition))
|
|
@@ -23234,11 +23239,6 @@ function structureActions(params) {
|
|
|
23234
23239
|
var hasPlayoffPositionsFilled = allPlayoffPositionsFilled(params);
|
|
23235
23240
|
return { actions: actions, state: { isComplete: isComplete, hasPlayoffPositionsFilled: hasPlayoffPositionsFilled } };
|
|
23236
23241
|
}
|
|
23237
|
-
/**
|
|
23238
|
-
*
|
|
23239
|
-
* @param {object} drawDefinition
|
|
23240
|
-
* @param {string} structureId
|
|
23241
|
-
*/
|
|
23242
23242
|
function isCompletedStructure(params) {
|
|
23243
23243
|
if (!(params === null || params === void 0 ? void 0 : params.drawDefinition))
|
|
23244
23244
|
return false;
|
|
@@ -23264,12 +23264,6 @@ function isCompletedStructure(params) {
|
|
|
23264
23264
|
!(upcomingMatchUps === null || upcomingMatchUps === void 0 ? void 0 : upcomingMatchUps.length);
|
|
23265
23265
|
return !!isComplete;
|
|
23266
23266
|
}
|
|
23267
|
-
/**
|
|
23268
|
-
*
|
|
23269
|
-
* @param {object} drawDefinition
|
|
23270
|
-
* @param {string} structureId - either drawDefinition and structureId or structure
|
|
23271
|
-
* @param {object} structure - optional
|
|
23272
|
-
*/
|
|
23273
23267
|
function allPlayoffPositionsFilled(params) {
|
|
23274
23268
|
var _a, _b;
|
|
23275
23269
|
var drawDefinition = params.drawDefinition, structureId = params.structureId;
|
|
@@ -23282,7 +23276,8 @@ function allPlayoffPositionsFilled(params) {
|
|
|
23282
23276
|
if (!(playoffStructures === null || playoffStructures === void 0 ? void 0 : playoffStructures.length))
|
|
23283
23277
|
return false;
|
|
23284
23278
|
var enteredParticipantsCount = ((_b = (_a = drawDefinition === null || drawDefinition === void 0 ? void 0 : drawDefinition.entries) === null || _a === void 0 ? void 0 : _a.filter(function (entry) {
|
|
23285
|
-
return
|
|
23279
|
+
return (entry === null || entry === void 0 ? void 0 : entry.entryStatus) &&
|
|
23280
|
+
STRUCTURE_SELECTED_STATUSES.includes(entry.entryStatus);
|
|
23286
23281
|
})) === null || _b === void 0 ? void 0 : _b.length) || 0;
|
|
23287
23282
|
var participantIdsCount = 0;
|
|
23288
23283
|
var allPositionsFilled = (playoffStructures || []).reduce(function (allFilled, structure) {
|
|
@@ -24688,16 +24683,6 @@ function getStageEntries(_a) {
|
|
|
24688
24683
|
return { entries: entries, stageEntries: stageEntries };
|
|
24689
24684
|
}
|
|
24690
24685
|
|
|
24691
|
-
/**
|
|
24692
|
-
*
|
|
24693
|
-
* @param {boolean} requireParticipantCount - whether or not to consider participantsCount
|
|
24694
|
-
* @param {boolean} drawSizeProgression - drawSizeProgression indicates that rules for all smaller drawSizes should be considered
|
|
24695
|
-
* @param {number} participantsCount - number of participants in draw structure // TODO: migrate to participantsCount
|
|
24696
|
-
* @param {number} drawSize - number of positions available in draw structure
|
|
24697
|
-
* @param {object} policyDefinitions - polictyDefinition object
|
|
24698
|
-
* @param {object} drawDefinition - optional - retrieved automatically if drawId is provided
|
|
24699
|
-
* @param {string} drawId - allows drawDefinition and event to be retrieved by tournamentEngine from tournament record
|
|
24700
|
-
*/
|
|
24701
24686
|
function getSeedsCount(params) {
|
|
24702
24687
|
var _a = params || {}, _b = _a.drawSizeProgression, drawSizeProgression = _b === void 0 ? false : _b, policyDefinitions = _a.policyDefinitions, drawSize = _a.drawSize;
|
|
24703
24688
|
var _c = params || {}, _d = _c.requireParticipantCount, requireParticipantCount = _d === void 0 ? true : _d, tournamentRecord = _c.tournamentRecord, drawDefinition = _c.drawDefinition, event = _c.event;
|
|
@@ -24736,9 +24721,9 @@ function getSeedsCount(params) {
|
|
|
24736
24721
|
}
|
|
24737
24722
|
}
|
|
24738
24723
|
var consideredParticipantCount = (requireParticipantCount && participantsCount) || drawSize;
|
|
24739
|
-
if (consideredParticipantCount > drawSize)
|
|
24724
|
+
if (consideredParticipantCount && consideredParticipantCount > drawSize)
|
|
24740
24725
|
return { error: PARTICIPANT_COUNT_EXCEEDS_DRAW_SIZE };
|
|
24741
|
-
var policy = policyDefinitions[POLICY_TYPE_SEEDING];
|
|
24726
|
+
var policy = policyDefinitions === null || policyDefinitions === void 0 ? void 0 : policyDefinitions[POLICY_TYPE_SEEDING];
|
|
24742
24727
|
if (!policy)
|
|
24743
24728
|
return { error: INVALID_POLICY_DEFINITION };
|
|
24744
24729
|
var seedsCountThresholds = policy.seedsCountThresholds;
|
|
@@ -24752,7 +24737,8 @@ function getSeedsCount(params) {
|
|
|
24752
24737
|
: drawSize === threshold.drawSize;
|
|
24753
24738
|
});
|
|
24754
24739
|
var seedsCount = relevantThresholds.reduce(function (seedsCount, threshold) {
|
|
24755
|
-
return participantsCount
|
|
24740
|
+
return participantsCount &&
|
|
24741
|
+
participantsCount >= threshold.minimumParticipantCount
|
|
24756
24742
|
? threshold.seedsCount
|
|
24757
24743
|
: seedsCount;
|
|
24758
24744
|
}, 0);
|
|
@@ -71431,7 +71417,7 @@ var utilities = {
|
|
|
71431
71417
|
findExtension: findExtension$2,
|
|
71432
71418
|
flattenJSON: flattenJSON,
|
|
71433
71419
|
garman: garman,
|
|
71434
|
-
|
|
71420
|
+
tieFormatGenderValidityCheck: tieFormatGenderValidityCheck,
|
|
71435
71421
|
generateHashCode: generateHashCode,
|
|
71436
71422
|
generateRange: generateRange,
|
|
71437
71423
|
generateScoreString: generateScoreString,
|