@optolith/entity-descriptions 0.11.2 → 0.13.0

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.
@@ -12,7 +12,7 @@ import { createEntityDescriptionCreator } from "../creator.js";
12
12
  import { combineNameComponents, getNameComponents, renderActivatableNameComponents, renderCombinedActivatableNameComponents, } from "./partial/activatableNameChunks.js";
13
13
  import { renderCommonnessRatedAdvantagesOrDisadvantages, renderValueWithPossibleTranslation, } from "./partial/commonnessRatedAdvantagesAndDisadvantages.js";
14
14
  import { attributedCustomName, attributedInstance, attributedName, attributedNameFromInstance, } from "./partial/markdown.js";
15
- import { printProfessionPrerequisites } from "./partial/prerequisites/index.js";
15
+ import { printProfessionPrerequisites, printProfessionVariantPrerequisites, } from "./partial/prerequisites/index.js";
16
16
  import { parensIf } from "./partial/rated/activatable/parensIf.js";
17
17
  import { attributedCustomNameR, attributedNameR, customNameR, formatR, getChildInstancesForInstanceIdFnR, getChildInstancesForInstanceIdR, getInstanceByIdR, localeCompareR, localeJoinR, localeSortR, strictNameR, translateMapFnR, translateR, translationR, } from "./partial/reader.js";
18
18
  import { MISSING_VALUE, UNHANDLED_VALUE } from "./partial/unknown.js";
@@ -385,7 +385,7 @@ const renderSpecialAbilityName = (specialAbility) => Reader.asks(({ translate, t
385
385
  else {
386
386
  return isCombinedEnhancementNameComponents(possiblyCombined)
387
387
  ? renderCombinedEnhancementNameComponents(possiblyCombined)
388
- : wrapActivatableInAttributedString(renderCombinedActivatableNameComponents(translateMap, possiblyCombined, false, list => localeJoin(list, "disjunction"), "profession"), possiblyCombined.id);
388
+ : renderCombinedActivatableNameComponents(translateMap, possiblyCombined, false, list => localeJoin(list, "disjunction"), "profession");
389
389
  }
390
390
  }
391
391
  default:
@@ -448,7 +448,7 @@ const renderSpellworks = (professionPackages) => Reader.sequence([
448
448
  const retrieveBlessedTraditionIdentifierFromPrerequisiteGroup = (prerequisite) => prerequisite.kind === "Activatable" && prerequisite.Activatable.id.kind === "BlessedTradition"
449
449
  ? [prerequisite.Activatable.id.BlessedTradition]
450
450
  : [];
451
- const retrieveBlessedTraditionIdentifierFromPrerequisites = (prerequisites) => prerequisites?.flatMap(part => {
451
+ const retrieveBlessedTraditionIdentifierFromPrerequisite = (part) => {
452
452
  switch (part.kind) {
453
453
  case "Single":
454
454
  return retrieveBlessedTraditionIdentifierFromPrerequisiteGroup(part.Single);
@@ -459,6 +459,17 @@ const retrieveBlessedTraditionIdentifierFromPrerequisites = (prerequisites) => p
459
459
  default:
460
460
  return assertExhaustive(part);
461
461
  }
462
+ };
463
+ const retrieveBlessedTraditionIdentifierFromPrerequisites = (prerequisites) => prerequisites?.flatMap(retrieveBlessedTraditionIdentifierFromPrerequisite) ?? [];
464
+ const retrieveBlessedTraditionIdentifierFromVariantPrerequisites = (prerequisites) => prerequisites?.flatMap(part => {
465
+ switch (part.kind) {
466
+ case "Add":
467
+ return retrieveBlessedTraditionIdentifierFromPrerequisite(part.Add);
468
+ case "Remove":
469
+ return [];
470
+ default:
471
+ return assertExhaustive(part);
472
+ }
462
473
  }) ?? [];
463
474
  const renderBlessingList = (blessings) => Reader.traverse(blessings, id => attributedNameR("profession", "Blessing", id).map(name => name ?? MISSING_VALUE)).thenW(localeSortR);
464
475
  const renderRestrictedBlessings = (restrictedBlessings) => {
@@ -508,7 +519,7 @@ const renderBlessings = (traditions) => {
508
519
  };
509
520
  const renderBlessingsForPackages = (professionPackages) => renderBlessings(professionPackages.map(pkg => retrieveBlessedTraditionIdentifierFromPrerequisites(pkg.content.prerequisites)));
510
521
  const renderBlessingsForVariant = (professionVariant) => renderBlessings([
511
- retrieveBlessedTraditionIdentifierFromPrerequisites(professionVariant.prerequisites),
522
+ retrieveBlessedTraditionIdentifierFromVariantPrerequisites(professionVariant.prerequisites),
512
523
  ]).map(blessingsText => (blessingsText !== undefined ? [blessingsText] : []));
513
524
  const renderLiturgicalChantName = (liturgyIds) => Reader.traverse(liturgyIds, id => attributedNameR("profession", id).map(name => name ?? MISSING_VALUE)).thenW(list => localeJoinR(list, "disjunction"));
514
525
  const renderLiturgicalChants = (professionPackages) => Reader.sequence([
@@ -540,7 +551,7 @@ const renderProfessionVariantText = (base, variant, translation) => translation.
540
551
  : Reader.sequence([
541
552
  variant.prerequisites === undefined
542
553
  ? Reader.of([])
543
- : printProfessionPrerequisites(variant.prerequisites).thenW(prerequisitesText => translateR("Additional Prerequisites").map(label => [
554
+ : printProfessionVariantPrerequisites(variant.prerequisites).thenW(prerequisitesText => translateR("Additional Prerequisites").map(label => [
544
555
  `${label}: ${prerequisitesText}`,
545
556
  ])),
546
557
  renderVariantOption(base, variant, "skill_specialization", renderVariantSkillSpecializationOption),