tods-competition-factory 1.8.44 → 1.8.45
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 +30 -16
- package/dist/forge/generate.mjs.map +1 -1
- package/dist/forge/transform.mjs +11 -10
- package/dist/forge/transform.mjs.map +1 -1
- package/dist/index.mjs +65 -38
- package/dist/index.mjs.map +1 -1
- package/dist/tods-competition-factory.development.cjs.js +86 -54
- 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 +1 -1
package/dist/forge/transform.mjs
CHANGED
|
@@ -1490,20 +1490,17 @@ var ParticipantTypeEnum = /* @__PURE__ */ ((ParticipantTypeEnum2) => {
|
|
|
1490
1490
|
|
|
1491
1491
|
const mixedGenderError = "MIXED events can not contain mixed singles or { gender: ANY } collections";
|
|
1492
1492
|
const anyMixedError = "events with { gender: ANY } can not contain MIXED singles collections";
|
|
1493
|
-
function tieFormatGenderValidityCheck({
|
|
1494
|
-
referenceEvent,
|
|
1495
|
-
referenceGender,
|
|
1496
|
-
matchUpType,
|
|
1497
|
-
gender
|
|
1498
|
-
}) {
|
|
1493
|
+
function tieFormatGenderValidityCheck(params) {
|
|
1499
1494
|
const stack = "tieFormatGenderValidityCheck";
|
|
1495
|
+
const { referenceGender, matchUpType, gender } = params;
|
|
1500
1496
|
if (referenceGender && gender && [GenderEnum.Male, GenderEnum.Female].includes(referenceGender) && referenceGender !== gender)
|
|
1501
1497
|
return decorateResult({
|
|
1502
1498
|
result: { valid: false, error: INVALID_GENDER },
|
|
1503
1499
|
context: { gender },
|
|
1504
1500
|
stack
|
|
1505
1501
|
});
|
|
1506
|
-
|
|
1502
|
+
const eventType = params.eventType ?? params.referenceEvent?.eventType;
|
|
1503
|
+
if (referenceGender === MIXED && (eventType !== TEAM$2 || gender === ANY || gender === MIXED && matchUpType !== TypeEnum.Doubles)) {
|
|
1507
1504
|
return decorateResult({
|
|
1508
1505
|
result: { error: INVALID_GENDER, valid: false },
|
|
1509
1506
|
info: mixedGenderError,
|
|
@@ -2008,6 +2005,7 @@ function validateTieFormat(params) {
|
|
|
2008
2005
|
const checkGender = !!(params?.enforceGender !== false && params?.gender);
|
|
2009
2006
|
const checkCollectionIds = params?.checkCollectionIds;
|
|
2010
2007
|
const tieFormat = params?.tieFormat;
|
|
2008
|
+
const event = params?.event;
|
|
2011
2009
|
const stack = "validateTieFormat";
|
|
2012
2010
|
const errors = [];
|
|
2013
2011
|
if (!params || !tieFormat || typeof tieFormat !== "object") {
|
|
@@ -2043,10 +2041,12 @@ function validateTieFormat(params) {
|
|
|
2043
2041
|
const { valid: valid2, errors: collectionDefinitionErrors } = validateCollectionDefinition({
|
|
2044
2042
|
referenceCategory: params.category,
|
|
2045
2043
|
referenceGender: params.gender,
|
|
2044
|
+
eventType: params.eventType,
|
|
2046
2045
|
collectionDefinition,
|
|
2047
2046
|
checkCollectionIds,
|
|
2048
2047
|
checkCategory,
|
|
2049
|
-
checkGender
|
|
2048
|
+
checkGender,
|
|
2049
|
+
event
|
|
2050
2050
|
});
|
|
2051
2051
|
if (valid2) {
|
|
2052
2052
|
return true;
|
|
@@ -2093,6 +2093,7 @@ function validateCollectionDefinition({
|
|
|
2093
2093
|
checkGender = true,
|
|
2094
2094
|
referenceCategory,
|
|
2095
2095
|
referenceGender,
|
|
2096
|
+
eventType,
|
|
2096
2097
|
event
|
|
2097
2098
|
}) {
|
|
2098
2099
|
referenceGender = referenceGender ?? event?.gender;
|
|
@@ -2160,7 +2161,7 @@ function validateCollectionDefinition({
|
|
|
2160
2161
|
}
|
|
2161
2162
|
if (checkGender) {
|
|
2162
2163
|
const result = tieFormatGenderValidityCheck({
|
|
2163
|
-
|
|
2164
|
+
eventType: eventType ?? event?.eventType,
|
|
2164
2165
|
referenceGender,
|
|
2165
2166
|
matchUpType,
|
|
2166
2167
|
gender
|
|
@@ -6693,7 +6694,7 @@ function generateTieMatchUpScore(params) {
|
|
|
6693
6694
|
const tieFormat = resolveTieFormat({ matchUp, drawDefinition, structure, event })?.tieFormat || params?.tieFormat;
|
|
6694
6695
|
if (!tieFormat)
|
|
6695
6696
|
return { error: MISSING_TIE_FORMAT };
|
|
6696
|
-
const result = validateTieFormat({ tieFormat });
|
|
6697
|
+
const result = validateTieFormat({ tieFormat, eventType: event?.eventType });
|
|
6697
6698
|
if (result.error)
|
|
6698
6699
|
return result;
|
|
6699
6700
|
const collectionDefinitions = tieFormat?.collectionDefinitions || [];
|