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.
@@ -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
- if (referenceGender === MIXED && (referenceEvent?.eventType !== TEAM$2 || gender === ANY || gender === MIXED && matchUpType !== TypeEnum.Doubles)) {
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
- referenceEvent: event,
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 || [];