tods-competition-factory 1.9.2 → 1.9.3

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.
@@ -12214,11 +12214,14 @@ function randomUnseededSeparation({
12214
12214
  idCollections,
12215
12215
  participants
12216
12216
  });
12217
+ if (allGroups.error) {
12218
+ return decorateResult({ result: allGroups, stack });
12219
+ }
12217
12220
  const participantIdGroups = Object.assign(
12218
12221
  {},
12219
12222
  ...unseededParticipantIds.map((participantId) => {
12220
12223
  const groups = Object.keys(allGroups).filter(
12221
- (key) => allGroups[key].includes(participantId)
12224
+ (key) => (allGroups[key] ?? []).includes(participantId)
12222
12225
  );
12223
12226
  return { [participantId]: groups };
12224
12227
  })
@@ -12416,7 +12419,7 @@ function positionUnseededParticipants({
12416
12419
  drawDefinition,
12417
12420
  event
12418
12421
  });
12419
- let avoidance = (appliedPolicies ?? {})[POLICY_TYPE_AVOIDANCE];
12422
+ let avoidance = appliedPolicies?.[POLICY_TYPE_AVOIDANCE];
12420
12423
  if (structure.stage === PLAY_OFF) {
12421
12424
  const groupings = entries.reduce((groupings2, entry) => {
12422
12425
  if (!groupings2[entry.groupingValue])
@@ -21711,8 +21714,8 @@ function addDrawDefinition(params) {
21711
21714
  }
21712
21715
 
21713
21716
  function attachPolicies({
21714
- drawDefinition,
21715
- policyDefinitions
21717
+ policyDefinitions,
21718
+ drawDefinition
21716
21719
  }) {
21717
21720
  if (!drawDefinition) {
21718
21721
  return { error: MISSING_DRAW_DEFINITION };
@@ -23677,7 +23680,7 @@ function getScaleValue({
23677
23680
  return scaleAccessor && isObject(scaleValue) ? scaleValue[scaleAccessor] : scaleValue;
23678
23681
  }
23679
23682
 
23680
- const POLICY_SEEDING_USTA = {
23683
+ const POLICY_SEEDING_DEFAULT = {
23681
23684
  [POLICY_TYPE_SEEDING]: {
23682
23685
  validSeedPositions: { ignore: true },
23683
23686
  duplicateSeedNumbers: true,
@@ -23734,13 +23737,15 @@ function generateDrawDefinition(params) {
23734
23737
  if (params.seedingProfile) {
23735
23738
  if (!policyDefinitions[POLICY_TYPE_SEEDING]) {
23736
23739
  policyDefinitions[POLICY_TYPE_SEEDING] = {
23737
- ...POLICY_SEEDING_USTA[POLICY_TYPE_SEEDING]
23740
+ ...POLICY_SEEDING_DEFAULT[POLICY_TYPE_SEEDING]
23738
23741
  };
23739
23742
  }
23740
23743
  policyDefinitions[POLICY_TYPE_SEEDING].seedingProfile = seedingProfile;
23741
23744
  }
23742
23745
  const { participants, participantMap } = getParticipants({
23743
23746
  withIndividualParticipants: true,
23747
+ convertExtensions: true,
23748
+ internalUse: true,
23744
23749
  tournamentRecord
23745
23750
  });
23746
23751
  const enforceGender = params.enforceGender ?? policyDefinitions?.[POLICY_TYPE_MATCHUP_ACTIONS]?.participants?.enforceGender ?? appliedPolicies?.[POLICY_TYPE_MATCHUP_ACTIONS]?.participants?.enforceGender;
@@ -23851,6 +23856,10 @@ function generateDrawDefinition(params) {
23851
23856
  drawDefinition.matchUpType = matchUpType;
23852
23857
  }
23853
23858
  }
23859
+ const policiesToAttach = {
23860
+ [POLICY_TYPE_AVOIDANCE]: appliedPolicies[POLICY_TYPE_AVOIDANCE],
23861
+ ...POLICY_SEEDING_DEFAULT
23862
+ };
23854
23863
  if (policyDefinitions) {
23855
23864
  if (typeof policyDefinitions !== "object") {
23856
23865
  return decorateResult({
@@ -23859,7 +23868,6 @@ function generateDrawDefinition(params) {
23859
23868
  stack
23860
23869
  });
23861
23870
  } else {
23862
- const policiesToAttach = {};
23863
23871
  for (const key of Object.keys(policyDefinitions)) {
23864
23872
  if (JSON.stringify(appliedPolicies?.[key]) !== JSON.stringify(policyDefinitions[key])) {
23865
23873
  policiesToAttach[key] = policyDefinitions[key];
@@ -23870,10 +23878,11 @@ function generateDrawDefinition(params) {
23870
23878
  Object.assign(appliedPolicies, policiesToAttach);
23871
23879
  }
23872
23880
  }
23881
+ } else if (policiesToAttach.avoidance) {
23882
+ attachPolicies({ drawDefinition, policyDefinitions: policiesToAttach });
23873
23883
  }
23874
23884
  if (!appliedPolicies[POLICY_TYPE_SEEDING] && !policyDefinitions[POLICY_TYPE_SEEDING]) {
23875
- attachPolicies({ drawDefinition, policyDefinitions: POLICY_SEEDING_USTA });
23876
- Object.assign(appliedPolicies, POLICY_SEEDING_USTA);
23885
+ Object.assign(appliedPolicies, POLICY_SEEDING_DEFAULT);
23877
23886
  }
23878
23887
  let structureId = existingDrawDefinition?.structures?.find(
23879
23888
  (structure) => structure.stage === MAIN && structure.stageSequence === 1