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.
@@ -16481,20 +16481,17 @@ function ensureSideLineUps({
16481
16481
 
16482
16482
  const mixedGenderError = "MIXED events can not contain mixed singles or { gender: ANY } collections";
16483
16483
  const anyMixedError = "events with { gender: ANY } can not contain MIXED singles collections";
16484
- function tieFormatGenderValidityCheck({
16485
- referenceEvent,
16486
- referenceGender,
16487
- matchUpType,
16488
- gender
16489
- }) {
16484
+ function tieFormatGenderValidityCheck(params) {
16490
16485
  const stack = "tieFormatGenderValidityCheck";
16486
+ const { referenceGender, matchUpType, gender } = params;
16491
16487
  if (referenceGender && gender && [GenderEnum.Male, GenderEnum.Female].includes(referenceGender) && referenceGender !== gender)
16492
16488
  return decorateResult({
16493
16489
  result: { valid: false, error: INVALID_GENDER },
16494
16490
  context: { gender },
16495
16491
  stack
16496
16492
  });
16497
- if (referenceGender === MIXED && (referenceEvent?.eventType !== TEAM$2 || gender === ANY || gender === MIXED && matchUpType !== TypeEnum.Doubles)) {
16493
+ const eventType = params.eventType ?? params.referenceEvent?.eventType;
16494
+ if (referenceGender === MIXED && (eventType !== TEAM$2 || gender === ANY || gender === MIXED && matchUpType !== TypeEnum.Doubles)) {
16498
16495
  return decorateResult({
16499
16496
  result: { error: INVALID_GENDER, valid: false },
16500
16497
  info: mixedGenderError,
@@ -16849,6 +16846,7 @@ function validateTieFormat(params) {
16849
16846
  const checkGender = !!(params?.enforceGender !== false && params?.gender);
16850
16847
  const checkCollectionIds = params?.checkCollectionIds;
16851
16848
  const tieFormat = params?.tieFormat;
16849
+ const event = params?.event;
16852
16850
  const stack = "validateTieFormat";
16853
16851
  const errors = [];
16854
16852
  if (!params || !tieFormat || typeof tieFormat !== "object") {
@@ -16884,10 +16882,12 @@ function validateTieFormat(params) {
16884
16882
  const { valid: valid2, errors: collectionDefinitionErrors } = validateCollectionDefinition({
16885
16883
  referenceCategory: params.category,
16886
16884
  referenceGender: params.gender,
16885
+ eventType: params.eventType,
16887
16886
  collectionDefinition,
16888
16887
  checkCollectionIds,
16889
16888
  checkCategory,
16890
- checkGender
16889
+ checkGender,
16890
+ event
16891
16891
  });
16892
16892
  if (valid2) {
16893
16893
  return true;
@@ -16934,6 +16934,7 @@ function validateCollectionDefinition({
16934
16934
  checkGender = true,
16935
16935
  referenceCategory,
16936
16936
  referenceGender,
16937
+ eventType,
16937
16938
  event
16938
16939
  }) {
16939
16940
  referenceGender = referenceGender ?? event?.gender;
@@ -17001,7 +17002,7 @@ function validateCollectionDefinition({
17001
17002
  }
17002
17003
  if (checkGender) {
17003
17004
  const result = tieFormatGenderValidityCheck({
17004
- referenceEvent: event,
17005
+ eventType: eventType ?? event?.eventType,
17005
17006
  referenceGender,
17006
17007
  matchUpType,
17007
17008
  gender
@@ -17033,8 +17034,15 @@ function validateCollectionDefinition({
17033
17034
  });
17034
17035
  return { valid: true };
17035
17036
  }
17036
- function checkTieFormat(tieFormat) {
17037
- const result = validateTieFormat({ tieFormat, checkCollectionIds: false });
17037
+ function checkTieFormat({
17038
+ tieFormat,
17039
+ eventType
17040
+ }) {
17041
+ const result = validateTieFormat({
17042
+ checkCollectionIds: false,
17043
+ eventType,
17044
+ tieFormat
17045
+ });
17038
17046
  if (result.error)
17039
17047
  return result;
17040
17048
  for (const collectionDefinition of tieFormat.collectionDefinitions) {
@@ -17259,7 +17267,7 @@ function generateTieMatchUpScore(params) {
17259
17267
  const tieFormat = resolveTieFormat({ matchUp, drawDefinition, structure, event })?.tieFormat || params?.tieFormat;
17260
17268
  if (!tieFormat)
17261
17269
  return { error: MISSING_TIE_FORMAT };
17262
- const result = validateTieFormat({ tieFormat });
17270
+ const result = validateTieFormat({ tieFormat, eventType: event?.eventType });
17263
17271
  if (result.error)
17264
17272
  return result;
17265
17273
  const collectionDefinitions = tieFormat?.collectionDefinitions || [];
@@ -20130,7 +20138,8 @@ function generateVoluntaryConsolation$1(params) {
20130
20138
  return { error: INVALID_DRAW_SIZE };
20131
20139
  let { tieFormat, matchUpType } = params;
20132
20140
  if (tieFormat) {
20133
- const result2 = validateTieFormat({ tieFormat });
20141
+ const eventType = params.event?.eventType;
20142
+ const result2 = validateTieFormat({ tieFormat, eventType });
20134
20143
  if (result2.error)
20135
20144
  return result2;
20136
20145
  }
@@ -21232,7 +21241,8 @@ function generateDrawTypeAndModifyDrawDefinition(params) {
21232
21241
  const drawDefinition = modifyOriginal ? params.drawDefinition : makeDeepCopy(params.drawDefinition, false, true);
21233
21242
  let { tieFormat, matchUpType } = params;
21234
21243
  if (tieFormat) {
21235
- const result2 = validateTieFormat({ tieFormat });
21244
+ const eventType = params.event?.eventType;
21245
+ const result2 = validateTieFormat({ tieFormat, eventType });
21236
21246
  if (result2.error)
21237
21247
  return result2;
21238
21248
  }
@@ -23717,7 +23727,8 @@ function generateDrawDefinition(params) {
23717
23727
  const result = validateTieFormat({
23718
23728
  gender: event?.gender,
23719
23729
  enforceGender,
23720
- tieFormat
23730
+ tieFormat,
23731
+ event
23721
23732
  });
23722
23733
  if (result.error)
23723
23734
  return decorateResult({ result, stack });
@@ -23736,7 +23747,10 @@ function generateDrawDefinition(params) {
23736
23747
  const equivalentInScope = matchUpFormat && event?.matchUpFormat === matchUpFormat || event?.tieFormat && tieFormat && JSON.stringify(event.tieFormat) === JSON.stringify(tieFormat);
23737
23748
  if (!equivalentInScope) {
23738
23749
  if (tieFormat) {
23739
- const result = checkTieFormat(tieFormat);
23750
+ const result = checkTieFormat({
23751
+ eventType: event.eventType,
23752
+ tieFormat
23753
+ });
23740
23754
  if (result.error)
23741
23755
  return decorateResult({ result, stack });
23742
23756
  drawDefinition.tieFormat = result.tieFormat ?? tieFormat;