@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.
- package/CHANGELOG.md +22 -0
- package/lib/entities/activatable.js +3 -3
- package/lib/entities/partial/activatableNameChunks.js +1 -1
- package/lib/entities/partial/adventurePointsValue.js +20 -3
- package/lib/entities/partial/commonnessRatedAdvantagesAndDisadvantages.js +3 -3
- package/lib/entities/partial/map.d.ts +17 -31
- package/lib/entities/partial/map.js +35 -48
- package/lib/entities/partial/markdown.d.ts +5 -1
- package/lib/entities/partial/markdown.js +13 -1
- package/lib/entities/partial/prerequisites/index.d.ts +5 -1
- package/lib/entities/partial/prerequisites/index.js +21 -0
- package/lib/entities/partial/prerequisites/part.d.ts +1 -0
- package/lib/entities/partial/prerequisites/part.js +14 -7
- package/lib/entities/partial/rated/activatable/cost.d.ts +4 -2
- package/lib/entities/partial/rated/activatable/cost.js +12 -12
- package/lib/entities/partial/reader.d.ts +4 -0
- package/lib/entities/partial/reader.js +4 -0
- package/lib/entities/profession.js +16 -5
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -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
|
-
:
|
|
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
|
|
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
|
-
|
|
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
|
-
:
|
|
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),
|