@optolith/entity-descriptions 0.11.0 → 0.11.2

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.
Files changed (114) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/lib/entities/activatable.d.ts +2 -1
  3. package/lib/entities/activatable.js +45 -18
  4. package/lib/entities/disease.d.ts +1 -1
  5. package/lib/entities/elixir.js +9 -1
  6. package/lib/entities/equipment.d.ts +1 -1
  7. package/lib/entities/influence.js +10 -1
  8. package/lib/entities/partial/activatableNameChunks.d.ts +2 -2
  9. package/lib/entities/partial/activatableNameChunks.js +18 -4
  10. package/lib/entities/partial/adventurePointsValue.js +19 -12
  11. package/lib/entities/partial/commonnessRatedAdvantagesAndDisadvantages.d.ts +1 -1
  12. package/lib/entities/partial/commonnessRatedAdvantagesAndDisadvantages.js +1 -1
  13. package/lib/entities/partial/enhancements.d.ts +1 -1
  14. package/lib/entities/partial/enhancements.js +13 -4
  15. package/lib/entities/partial/map.d.ts +1 -1
  16. package/lib/entities/partial/prerequisites/displayOption.d.ts +2 -7
  17. package/lib/entities/partial/prerequisites/displayOption.js +1 -18
  18. package/lib/entities/partial/prerequisites/index.d.ts +22 -20
  19. package/lib/entities/partial/prerequisites/index.js +68 -65
  20. package/lib/entities/partial/prerequisites/part.d.ts +3 -4
  21. package/lib/entities/partial/prerequisites/part.js +13 -11
  22. package/lib/entities/partial/prerequisites/prerequisiteGroups.d.ts +16 -18
  23. package/lib/entities/partial/prerequisites/prerequisiteGroups.js +90 -82
  24. package/lib/entities/partial/prerequisites/single/activatable.d.ts +4 -5
  25. package/lib/entities/partial/prerequisites/single/activatable.js +21 -29
  26. package/lib/entities/partial/prerequisites/single/animistPower.d.ts +2 -3
  27. package/lib/entities/partial/prerequisites/single/animistPower.js +6 -9
  28. package/lib/entities/partial/prerequisites/single/anySpecialAbilityOfGroup.d.ts +1 -1
  29. package/lib/entities/partial/prerequisites/single/anySpecialAbilityOfGroup.js +4 -7
  30. package/lib/entities/partial/prerequisites/single/blessedTradition.d.ts +2 -2
  31. package/lib/entities/partial/prerequisites/single/blessedTradition.js +15 -17
  32. package/lib/entities/partial/prerequisites/single/commonSuggestedByRCP.d.ts +2 -2
  33. package/lib/entities/partial/prerequisites/single/commonSuggestedByRCP.js +9 -6
  34. package/lib/entities/partial/prerequisites/single/culture.d.ts +2 -3
  35. package/lib/entities/partial/prerequisites/single/culture.js +8 -15
  36. package/lib/entities/partial/prerequisites/single/enhancement.d.ts +1 -1
  37. package/lib/entities/partial/prerequisites/single/enhancement.js +1 -1
  38. package/lib/entities/partial/prerequisites/single/influence.d.ts +2 -3
  39. package/lib/entities/partial/prerequisites/single/influence.js +7 -10
  40. package/lib/entities/partial/prerequisites/single/magicalTradition.d.ts +2 -2
  41. package/lib/entities/partial/prerequisites/single/magicalTradition.js +10 -12
  42. package/lib/entities/partial/prerequisites/single/noOtherAncestorBloodAdvantage.d.ts +2 -2
  43. package/lib/entities/partial/prerequisites/single/noOtherAncestorBloodAdvantage.js +4 -3
  44. package/lib/entities/partial/prerequisites/single/pact.d.ts +2 -3
  45. package/lib/entities/partial/prerequisites/single/pact.js +17 -18
  46. package/lib/entities/partial/prerequisites/single/personalityTrait.d.ts +2 -3
  47. package/lib/entities/partial/prerequisites/single/personalityTrait.js +21 -22
  48. package/lib/entities/partial/prerequisites/single/primaryAttribute.d.ts +2 -2
  49. package/lib/entities/partial/prerequisites/single/primaryAttribute.js +6 -8
  50. package/lib/entities/partial/prerequisites/single/profession.d.ts +2 -3
  51. package/lib/entities/partial/prerequisites/single/profession.js +11 -14
  52. package/lib/entities/partial/prerequisites/single/publication.d.ts +2 -3
  53. package/lib/entities/partial/prerequisites/single/publication.js +7 -13
  54. package/lib/entities/partial/prerequisites/single/race.d.ts +2 -3
  55. package/lib/entities/partial/prerequisites/single/race.js +8 -15
  56. package/lib/entities/partial/prerequisites/single/rated.d.ts +2 -3
  57. package/lib/entities/partial/prerequisites/single/rated.js +7 -9
  58. package/lib/entities/partial/prerequisites/single/ratedMinimumNumber.d.ts +2 -3
  59. package/lib/entities/partial/prerequisites/single/ratedMinimumNumber.js +52 -53
  60. package/lib/entities/partial/prerequisites/single/ratedSum.d.ts +2 -3
  61. package/lib/entities/partial/prerequisites/single/ratedSum.js +15 -15
  62. package/lib/entities/partial/prerequisites/single/rule.d.ts +2 -2
  63. package/lib/entities/partial/prerequisites/single/rule.js +2 -1
  64. package/lib/entities/partial/prerequisites/single/sex.d.ts +2 -2
  65. package/lib/entities/partial/prerequisites/single/sex.js +7 -6
  66. package/lib/entities/partial/prerequisites/single/sexualCharacteristic.d.ts +2 -2
  67. package/lib/entities/partial/prerequisites/single/sexualCharacteristic.js +11 -8
  68. package/lib/entities/partial/prerequisites/single/socialStatus.d.ts +2 -3
  69. package/lib/entities/partial/prerequisites/single/socialStatus.js +9 -15
  70. package/lib/entities/partial/prerequisites/single/state.d.ts +2 -3
  71. package/lib/entities/partial/prerequisites/single/state.js +8 -15
  72. package/lib/entities/partial/prerequisites/single/text.d.ts +2 -2
  73. package/lib/entities/partial/prerequisites/single/text.js +4 -3
  74. package/lib/entities/partial/prerequisites/single/tinyActivatable.d.ts +1 -1
  75. package/lib/entities/partial/prerequisites/single/tinyActivatable.js +5 -8
  76. package/lib/entities/partial/rated/activatable/castingTime.d.ts +1 -1
  77. package/lib/entities/partial/rated/activatable/checkResultBased.d.ts +1 -1
  78. package/lib/entities/partial/rated/activatable/cost.d.ts +3 -3
  79. package/lib/entities/partial/rated/activatable/duration.d.ts +1 -1
  80. package/lib/entities/partial/rated/activatable/duration.js +1 -1
  81. package/lib/entities/partial/rated/activatable/effect.d.ts +1 -1
  82. package/lib/entities/partial/rated/activatable/index.d.ts +1 -1
  83. package/lib/entities/partial/rated/activatable/isMinimumMaximum.d.ts +1 -1
  84. package/lib/entities/partial/rated/activatable/nonModifiableSuffix.d.ts +1 -1
  85. package/lib/entities/partial/rated/activatable/nonModifiableSuffix.js +1 -1
  86. package/lib/entities/partial/rated/activatable/range.d.ts +1 -1
  87. package/lib/entities/partial/rated/activatable/targetCategory.d.ts +1 -1
  88. package/lib/entities/partial/rated/activatable/targetCategory.js +2 -5
  89. package/lib/entities/partial/rated/improvementCost.d.ts +1 -1
  90. package/lib/entities/partial/rated/skillCheck.d.ts +1 -1
  91. package/lib/entities/partial/reader.d.ts +3 -58
  92. package/lib/entities/partial/responsiveText.d.ts +2 -2
  93. package/lib/entities/partial/units/length.d.ts +1 -1
  94. package/lib/entities/partial/units/timeSpan.d.ts +3 -4
  95. package/lib/entities/personalityTrait.js +8 -1
  96. package/lib/entities/poison.js +5 -1
  97. package/lib/entities/profession.js +9 -15
  98. package/lib/entities/race.d.ts +1 -1
  99. package/lib/entities/race.js +16 -12
  100. package/lib/entities/spell.js +5 -2
  101. package/lib/env.d.ts +66 -0
  102. package/lib/env.js +1 -0
  103. package/lib/index.d.ts +88 -88
  104. package/lib/references/publicationOptions.d.ts +1 -1
  105. package/lib/tsconfig.tsbuildinfo +1 -1
  106. package/package.json +1 -1
  107. package/lib/entities/partial/prerequisites/single/anyActivatableOfGroup.d.ts +0 -7
  108. package/lib/entities/partial/prerequisites/single/anyActivatableOfGroup.js +0 -16
  109. package/lib/entities/partial/prerequisites/single/rated copy.d.ts +0 -8
  110. package/lib/entities/partial/prerequisites/single/rated copy.js +0 -17
  111. package/lib/entities/partial/prerequisites/single/tinyActivatable copy.d.ts +0 -7
  112. package/lib/entities/partial/prerequisites/single/tinyActivatable copy.js +0 -16
  113. package/lib/helpers/publicationOptions.d.ts +0 -42
  114. package/lib/helpers/publicationOptions.js +0 -64
@@ -1,21 +1,14 @@
1
- import { attributedNameFromSafeTranslation } from "../../markdown.js";
1
+ import { attributedNameR, translateR } from "../../reader.js";
2
+ import { MISSING_VALUE } from "../../unknown.js";
2
3
  import { printDisplayOption } from "../displayOption.js";
3
4
  /**
4
5
  * Get the translation of a culture prerequisite.
5
6
  */
6
- export const printCulturePrerequisite = (getInstanceById, locale, prerequisite) => {
7
- if (prerequisite.display_option !== undefined) {
8
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
9
- }
10
- const culture = getInstanceById("Culture", prerequisite.id);
11
- const cultureTranslation = locale.translateMap(culture?.translations);
12
- if (cultureTranslation === undefined) {
13
- return undefined;
14
- }
15
- return {
16
- label: `${locale.translate("Culture")} `,
17
- value: attributedNameFromSafeTranslation(cultureTranslation, "prerequisite", "Culture", prerequisite.id),
7
+ export const printCulturePrerequisite = (prerequisite) => prerequisite.display_option !== undefined
8
+ ? printDisplayOption(prerequisite.display_option)
9
+ : attributedNameR("prerequisite", "Culture", prerequisite.id).thenW(name => translateR("Culture").map((label) => ({
10
+ label: `${label} `,
11
+ value: name ?? MISSING_VALUE,
18
12
  sentenceType: undefined,
19
13
  isMeta: false,
20
- };
21
- };
14
+ })));
@@ -1,6 +1,6 @@
1
1
  import { Reader } from "@elyukai/utils/reader";
2
2
  import type { EnhancementPrerequisite } from "@optolith/database-schema/gen";
3
- import { type StdEnv } from "../../reader.js";
3
+ import type { StdEnv } from "../../../../env.js";
4
4
  import type { PrerequisitePart } from "../part.js";
5
5
  type EnvExtra = {
6
6
  hideParent?: true;
@@ -1,7 +1,7 @@
1
1
  import { Reader } from "@elyukai/utils/reader";
2
2
  import { assertExhaustive } from "@optolith/helpers/typeSafety";
3
3
  import { fromUniformCase } from "tsondb/schema/gen";
4
- import { attributedNameFromInstanceR, getInstanceByIdR, translateR, } from "../../reader.js";
4
+ import { attributedNameFromInstanceR, getInstanceByIdR, translateR } from "../../reader.js";
5
5
  import { MISSING_VALUE } from "../../unknown.js";
6
6
  const printLabel = (skillId) => {
7
7
  switch (skillId.kind) {
@@ -1,8 +1,7 @@
1
1
  import type { InfluencePrerequisite } from "@optolith/database-schema/gen";
2
- import type { GetInstanceById } from "../../../../helpers/getTypes.js";
3
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
4
3
  import type { PrerequisitePart } from "../part.js";
5
4
  /**
6
5
  * Get the translation of a culture prerequisite.
7
6
  */
8
- export declare const printInfluencePrerequisite: (getInstanceById: GetInstanceById<"Influence">, locale: Pick<LocaleEnvironment, "translate" | "translateMap">, prerequisite: InfluencePrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printInfluencePrerequisite: (prerequisite: InfluencePrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Influence">;
@@ -1,17 +1,14 @@
1
+ import { attributedNameR, translateR } from "../../reader.js";
1
2
  import { MISSING_VALUE } from "../../unknown.js";
2
3
  import { printDisplayOption } from "../displayOption.js";
3
4
  /**
4
5
  * Get the translation of a culture prerequisite.
5
6
  */
6
- export const printInfluencePrerequisite = (getInstanceById, locale, prerequisite) => {
7
- if (prerequisite.display_option !== undefined) {
8
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
9
- }
10
- const name = locale.translateMap(getInstanceById("Influence", prerequisite.id)?.translations)?.name ??
11
- MISSING_VALUE;
12
- return {
13
- value: `${locale.translate("no influence")} ${name}`,
7
+ export const printInfluencePrerequisite = (prerequisite) => prerequisite.display_option !== undefined
8
+ ? printDisplayOption(prerequisite.display_option)
9
+ : attributedNameR("prerequisite", "Influence", prerequisite.id).thenW(name => translateR("no influence").map((label) => ({
10
+ label: `${label} `,
11
+ value: name ?? MISSING_VALUE,
14
12
  sentenceType: undefined,
15
13
  isMeta: false,
16
- };
17
- };
14
+ })));
@@ -1,7 +1,7 @@
1
1
  import type { MagicalTraditionPrerequisite } from "@optolith/database-schema/gen";
2
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
3
3
  import type { PrerequisitePart } from "../part.js";
4
4
  /**
5
5
  * Get the translation of a magical tradition prerequisite.
6
6
  */
7
- export declare const printMagicalTraditionPrerequisite: (locale: LocaleEnvironment, prerequisite: MagicalTraditionPrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printMagicalTraditionPrerequisite: (prerequisite: MagicalTraditionPrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm">;
@@ -1,13 +1,14 @@
1
1
  import { assertExhaustive } from "@optolith/helpers/typeSafety";
2
+ import { translateR } from "../../reader.js";
2
3
  import { printDisplayOption } from "../displayOption.js";
3
- const printValue = (locale, restriction) => {
4
+ const printValue = (restriction) => {
4
5
  switch (restriction?.kind) {
5
6
  case "CanLearnRituals":
6
- return locale.translate("Tradition must be able to use rituals");
7
+ return translateR("Tradition must be able to use rituals");
7
8
  case "CanBindFamiliars":
8
- return locale.translate("Tradition must be able to bind familiars");
9
+ return translateR("Tradition must be able to bind familiars");
9
10
  case undefined:
10
- return locale.translate("Tradition");
11
+ return translateR("Tradition");
11
12
  default:
12
13
  return assertExhaustive(restriction);
13
14
  }
@@ -15,13 +16,10 @@ const printValue = (locale, restriction) => {
15
16
  /**
16
17
  * Get the translation of a magical tradition prerequisite.
17
18
  */
18
- export const printMagicalTraditionPrerequisite = (locale, prerequisite) => {
19
- if (prerequisite.display_option !== undefined) {
20
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
21
- }
22
- return {
23
- value: printValue(locale, prerequisite.restriction),
19
+ export const printMagicalTraditionPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
20
+ ? printDisplayOption(prerequisite.display_option)
21
+ : printValue(prerequisite.restriction).map((value) => ({
22
+ value,
24
23
  sentenceType: undefined,
25
24
  isMeta: false,
26
- };
27
- };
25
+ }));
@@ -1,6 +1,6 @@
1
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
1
+ import type { StdReader } from "../../../../env.js";
2
2
  import type { PrerequisitePart } from "../part.js";
3
3
  /**
4
4
  * Get the translation of a culture prerequisite.
5
5
  */
6
- export declare const printNoOtherAncestorBloodAdvantagePrerequisite: (locale: LocaleEnvironment) => PrerequisitePart | undefined;
6
+ export declare const printNoOtherAncestorBloodAdvantagePrerequisite: StdReader<PrerequisitePart | undefined, "t">;
@@ -1,8 +1,9 @@
1
+ import { translateR } from "../../reader.js";
1
2
  /**
2
3
  * Get the translation of a culture prerequisite.
3
4
  */
4
- export const printNoOtherAncestorBloodAdvantagePrerequisite = (locale) => ({
5
- value: locale.translate("no other ancestor blood advantage"),
5
+ export const printNoOtherAncestorBloodAdvantagePrerequisite = translateR("no other ancestor blood advantage").map(value => ({
6
+ value,
6
7
  sentenceType: undefined,
7
8
  isMeta: false,
8
- });
9
+ }));
@@ -1,8 +1,7 @@
1
1
  import type { PactPrerequisite } from "@optolith/database-schema/gen";
2
- import type { GetInstanceById } from "../../../../helpers/getTypes.js";
3
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
4
3
  import type { PrerequisitePart } from "../part.js";
5
4
  /**
6
5
  * Get the translation of a culture prerequisite.
7
6
  */
8
- export declare const printPactPrerequisite: (getInstanceById: GetInstanceById<"PactCategory" | "PactDomain">, locale: LocaleEnvironment, prerequisite: PactPrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printPactPrerequisite: (prerequisite: PactPrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "lc" | "lj" | "ibi", "PactCategory" | "PactDomain">;
@@ -1,30 +1,29 @@
1
+ import { Reader } from "@elyukai/utils/reader";
1
2
  import { isNotNullish } from "@optolith/helpers/nullable";
2
3
  import { romanize } from "@optolith/helpers/roman";
4
+ import { attributedNameR, localeJoinR, localeSortR, translateR } from "../../reader.js";
3
5
  import { MISSING_VALUE } from "../../unknown.js";
4
6
  import { printDisplayOption } from "../displayOption.js";
5
7
  /**
6
8
  * Get the translation of a culture prerequisite.
7
9
  */
8
- export const printPactPrerequisite = (getInstanceById, locale, prerequisite) => {
9
- if (prerequisite.display_option !== undefined) {
10
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
11
- }
12
- const pactCategory = getInstanceById("PactCategory", prerequisite.category);
13
- const parts = [
10
+ export const printPactPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
11
+ ? printDisplayOption(prerequisite.display_option)
12
+ : attributedNameR("prerequisite", "PactCategory", prerequisite.category)
13
+ .thenW(name => Reader.sequence([
14
14
  prerequisite.domain === undefined
15
- ? undefined
16
- : locale.translate("domain {$domain}", {
17
- domain: locale.join(prerequisite.domain.map(id => locale.translateMap(getInstanceById("PactDomain", id)?.translations)?.name ??
18
- MISSING_VALUE), "disjunction"),
19
- }),
20
- locale.translate("{$pact} level {$pactLevel}", {
21
- pact: locale.translateMap(pactCategory?.translations)?.name ?? MISSING_VALUE,
15
+ ? Reader.of(undefined)
16
+ : Reader.traverse(prerequisite.domain, id => attributedNameR("prerequisite", "PactDomain", id).map(domainName => domainName ?? MISSING_VALUE))
17
+ .thenW(localeSortR)
18
+ .thenW(domains => localeJoinR(domains, "disjunction"))
19
+ .thenW(domains => translateR("domain {$domain}", { domain: domains })),
20
+ translateR("{$pact} level {$pactLevel}", {
21
+ pact: name ?? MISSING_VALUE,
22
22
  pactLevel: romanize(prerequisite.level ?? 1),
23
23
  }),
24
- ].filter(isNotNullish);
25
- return {
26
- value: parts.join(", "),
24
+ ]))
25
+ .map(parts => ({
26
+ value: parts.filter(isNotNullish).join(", "),
27
27
  sentenceType: undefined,
28
28
  isMeta: false,
29
- };
30
- };
29
+ }));
@@ -1,8 +1,7 @@
1
1
  import type { PersonalityTraitPrerequisite } from "@optolith/database-schema/gen";
2
- import type { GetInstanceById } from "../../../../helpers/getTypes.js";
3
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
4
3
  import type { PrerequisitePart } from "../part.js";
5
4
  /**
6
5
  * Get the translation of a personality trait prerequisite.
7
6
  */
8
- export declare const printPersonalityTraitPrerequisite: (getInstanceById: GetInstanceById<"PersonalityTrait">, locale: LocaleEnvironment, prerequisite: PersonalityTraitPrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printPersonalityTraitPrerequisite: (prerequisite: PersonalityTraitPrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "PersonalityTrait">;
@@ -1,29 +1,28 @@
1
- import { attributedNameFromSafeTranslation } from "../../markdown.js";
1
+ import { Reader } from "@elyukai/utils/reader";
2
+ import { attributedNameFromInstanceR, getInstanceByIdR, translateR } from "../../reader.js";
3
+ import { MISSING_VALUE } from "../../unknown.js";
2
4
  import { printDisplayOption } from "../displayOption.js";
3
5
  /**
4
6
  * Get the translation of a personality trait prerequisite.
5
7
  */
6
- export const printPersonalityTraitPrerequisite = (getInstanceById, locale, prerequisite) => {
7
- if (prerequisite.display_option !== undefined) {
8
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
9
- }
10
- const personalityTrait = getInstanceById("PersonalityTrait", prerequisite.id);
11
- const personalityTraitTranslation = locale.translateMap(personalityTrait?.translations);
12
- if (personalityTrait === undefined || personalityTraitTranslation === undefined) {
13
- return undefined;
14
- }
15
- const name = `${attributedNameFromSafeTranslation(personalityTraitTranslation, "prerequisite", "PersonalityTrait", prerequisite.id)} (${locale.translate("Level {$level}", {
16
- level: personalityTrait.level,
17
- })})`;
18
- return {
19
- value: prerequisite.active
20
- ? locale.translate("must have {$trait}", {
8
+ export const printPersonalityTraitPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
9
+ ? printDisplayOption(prerequisite.display_option)
10
+ : getInstanceByIdR("PersonalityTrait", prerequisite.id).thenW(personalityTrait => personalityTrait === undefined
11
+ ? Reader.of(undefined)
12
+ : attributedNameFromInstanceR(personalityTrait, "prerequisite", "PersonalityTrait", prerequisite.id)
13
+ .map(name => name ?? MISSING_VALUE)
14
+ .thenW(name => translateR("Level {$level}", {
15
+ level: personalityTrait.level,
16
+ }).map(level => `${name} (${level})`))
17
+ .then(name => prerequisite.active
18
+ ? translateR("must have {$trait}", {
21
19
  trait: name,
22
20
  })
23
- : locale.translate("cannot be chosen at the same time as {$trait}", {
21
+ : translateR("cannot be chosen at the same time as {$trait}", {
24
22
  trait: name,
25
- }),
26
- sentenceType: undefined,
27
- isMeta: false,
28
- };
29
- };
23
+ }))
24
+ .map(value => ({
25
+ value,
26
+ sentenceType: undefined,
27
+ isMeta: false,
28
+ })));
@@ -1,7 +1,7 @@
1
1
  import type { PrimaryAttributePrerequisite } from "@optolith/database-schema/gen";
2
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
3
3
  import type { PrerequisitePart } from "../part.js";
4
4
  /**
5
5
  * Get the translation of a state prerequisite.
6
6
  */
7
- export declare const printPrimaryAttributePrerequisite: (locale: LocaleEnvironment, prerequisite: PrimaryAttributePrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printPrimaryAttributePrerequisite: (prerequisite: PrimaryAttributePrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm">;
@@ -1,15 +1,13 @@
1
+ import { translateR } from "../../reader.js";
1
2
  import { printDisplayOption } from "../displayOption.js";
2
3
  /**
3
4
  * Get the translation of a state prerequisite.
4
5
  */
5
- export const printPrimaryAttributePrerequisite = (locale, prerequisite) => {
6
- if (prerequisite.display_option !== undefined) {
7
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
8
- }
9
- return {
10
- label: `${locale.translate("Primary Attribute")} `,
6
+ export const printPrimaryAttributePrerequisite = (prerequisite) => prerequisite.display_option !== undefined
7
+ ? printDisplayOption(prerequisite.display_option)
8
+ : translateR("Primary Attribute").map((label) => ({
9
+ label: `${label} `,
11
10
  value: prerequisite.value.toFixed(),
12
11
  sentenceType: undefined,
13
12
  isMeta: false,
14
- };
15
- };
13
+ }));
@@ -1,8 +1,7 @@
1
1
  import type { ProfessionPrerequisite } from "@optolith/database-schema/gen";
2
- import type { GetAllChildInstancesForParent } from "../../../../helpers/getTypes.js";
3
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
4
3
  import type { PrerequisitePart } from "../part.js";
5
4
  /**
6
5
  * Get the translation of a profession prerequisite.
7
6
  */
8
- export declare const printProfessionPrerequisite: (getChildInstancesForInstanceId: GetAllChildInstancesForParent<"ProfessionVersion">, locale: Pick<LocaleEnvironment, "translateMap">, prerequisite: ProfessionPrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printProfessionPrerequisite: (prerequisite: ProfessionPrerequisite) => StdReader<PrerequisitePart | undefined, "tm" | "acibp", never, never, "ProfessionVersion">;
@@ -1,22 +1,19 @@
1
+ import { Reader } from "@elyukai/utils/reader";
1
2
  import { attributedInstance } from "../../markdown.js";
2
3
  import { getProfessionName } from "../../professions.js";
4
+ import { MISSING_VALUE } from "../../unknown.js";
3
5
  import { printDisplayOption } from "../displayOption.js";
4
6
  /**
5
7
  * Get the translation of a profession prerequisite.
6
8
  */
7
- export const printProfessionPrerequisite = (getChildInstancesForInstanceId, locale, prerequisite) => {
8
- if (prerequisite.displayOption !== undefined) {
9
- return printDisplayOption(locale.translateMap, prerequisite.displayOption);
10
- }
11
- const professionName = getProfessionName(locale.translateMap, getChildInstancesForInstanceId, prerequisite.id);
12
- if (professionName === undefined) {
13
- return undefined;
14
- }
15
- return {
16
- value: attributedInstance(professionName, "Profession", prerequisite.id, {
17
- context: '"prerequisite"',
18
- }),
9
+ export const printProfessionPrerequisite = (prerequisite) => prerequisite.displayOption !== undefined
10
+ ? printDisplayOption(prerequisite.displayOption)
11
+ : Reader.asks((env) => getProfessionName(env.translateMap, env.getChildInstancesForInstanceId, prerequisite.id)).map(name => ({
12
+ value: name === undefined
13
+ ? MISSING_VALUE
14
+ : attributedInstance(name, "Profession", prerequisite.id, {
15
+ context: '"prerequisite"',
16
+ }),
19
17
  sentenceType: undefined,
20
18
  isMeta: false,
21
- };
22
- };
19
+ }));
@@ -1,8 +1,7 @@
1
1
  import type { PublicationPrerequisite } from "@optolith/database-schema/gen";
2
- import type { GetInstanceById } from "../../../../helpers/getTypes.js";
3
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
4
3
  import type { PrerequisitePart } from "../part.js";
5
4
  /**
6
5
  * Get the translation of a state prerequisite.
7
6
  */
8
- export declare const printPublicationPrerequisite: (getInstanceById: GetInstanceById<"Publication">, locale: LocaleEnvironment, prerequisite: PublicationPrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printPublicationPrerequisite: (prerequisite: PublicationPrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Publication">;
@@ -1,19 +1,13 @@
1
+ import { attributedNameR } from "../../reader.js";
2
+ import { MISSING_VALUE } from "../../unknown.js";
1
3
  import { printDisplayOption } from "../displayOption.js";
2
4
  /**
3
5
  * Get the translation of a state prerequisite.
4
6
  */
5
- export const printPublicationPrerequisite = (getInstanceById, locale, prerequisite) => {
6
- if (prerequisite.display_option !== undefined) {
7
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
8
- }
9
- const publication = getInstanceById("Publication", prerequisite.id);
10
- const publicationTranslation = locale.translateMap(publication?.translations);
11
- if (publicationTranslation === undefined) {
12
- return undefined;
13
- }
14
- return {
15
- value: publicationTranslation.name,
7
+ export const printPublicationPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
8
+ ? printDisplayOption(prerequisite.display_option)
9
+ : attributedNameR("prerequisite", "Publication", prerequisite.id).map((name) => ({
10
+ value: name ?? MISSING_VALUE,
16
11
  sentenceType: undefined,
17
12
  isMeta: false,
18
- };
19
- };
13
+ }));
@@ -1,8 +1,7 @@
1
1
  import type { RacePrerequisite } from "@optolith/database-schema/gen";
2
- import type { GetInstanceById } from "../../../../helpers/getTypes.js";
3
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
4
3
  import type { PrerequisitePart } from "../part.js";
5
4
  /**
6
5
  * Get the translation of a race prerequisite.
7
6
  */
8
- export declare const printRacePrerequisite: (getInstanceById: GetInstanceById<"Race">, locale: Pick<LocaleEnvironment, "translate" | "translateMap">, prerequisite: RacePrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printRacePrerequisite: (prerequisite: RacePrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Race">;
@@ -1,21 +1,14 @@
1
- import { attributedNameFromSafeTranslation } from "../../markdown.js";
1
+ import { attributedNameR, translateR } from "../../reader.js";
2
+ import { MISSING_VALUE } from "../../unknown.js";
2
3
  import { printDisplayOption } from "../displayOption.js";
3
4
  /**
4
5
  * Get the translation of a race prerequisite.
5
6
  */
6
- export const printRacePrerequisite = (getInstanceById, locale, prerequisite) => {
7
- if (prerequisite.display_option !== undefined) {
8
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
9
- }
10
- const race = getInstanceById("Race", prerequisite.id);
11
- const raceTranslation = locale.translateMap(race?.translations);
12
- if (raceTranslation === undefined) {
13
- return undefined;
14
- }
15
- return {
16
- label: `${locale.translate("Race")} `,
17
- value: attributedNameFromSafeTranslation(raceTranslation, "prerequisite", "Race", prerequisite.id),
7
+ export const printRacePrerequisite = (prerequisite) => prerequisite.display_option !== undefined
8
+ ? printDisplayOption(prerequisite.display_option)
9
+ : attributedNameR("prerequisite", "Race", prerequisite.id).thenW(name => translateR("Race").map((label) => ({
10
+ label: `${label} `,
11
+ value: name ?? MISSING_VALUE,
18
12
  sentenceType: undefined,
19
13
  isMeta: false,
20
- };
21
- };
14
+ })));
@@ -1,8 +1,7 @@
1
1
  import type { RatedPrerequisite } from "@optolith/database-schema/gen";
2
- import { type GetInstanceById } from "../../../../helpers/getTypes.js";
3
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
4
3
  import type { PrerequisitePart } from "../part.js";
5
4
  /**
6
5
  * Get the translation of a blessed tradition prerequisite.
7
6
  */
8
- export declare const printRatedPrerequisite: (getInstanceById: GetInstanceById<"Attribute" | "Skill" | "CloseCombatTechnique" | "RangedCombatTechnique" | "Spell" | "Ritual" | "LiturgicalChant" | "Ceremony">, locale: Pick<LocaleEnvironment, "translateMap">, prerequisite: RatedPrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printRatedPrerequisite: (prerequisite: RatedPrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Attribute" | "Skill" | "CloseCombatTechnique" | "RangedCombatTechnique" | "Spell" | "Ritual" | "LiturgicalChant" | "Ceremony">;
@@ -1,17 +1,15 @@
1
- import { attributedCustomName } from "../../markdown.js";
1
+ import { attributedCustomNameR } from "../../reader.js";
2
2
  import { MISSING_VALUE } from "../../unknown.js";
3
3
  import { printDisplayOption } from "../displayOption.js";
4
4
  /**
5
5
  * Get the translation of a blessed tradition prerequisite.
6
6
  */
7
- export const printRatedPrerequisite = (getInstanceById, locale, prerequisite) => {
8
- if (prerequisite.display_option !== undefined) {
9
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
10
- }
11
- const name = attributedCustomName(locale.translateMap, getInstanceById, "prerequisite", (t) => t.abbreviation ?? t.name, prerequisite.id) ?? MISSING_VALUE;
12
- return {
7
+ export const printRatedPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
8
+ ? printDisplayOption(prerequisite.display_option)
9
+ : attributedCustomNameR("prerequisite", (t) => t.abbreviation ?? t.name, prerequisite.id)
10
+ .map(name => name ?? MISSING_VALUE)
11
+ .map((name) => ({
13
12
  value: prerequisite.value > 0 ? `${name} ${prerequisite.value.toFixed()}` : name,
14
13
  sentenceType: undefined,
15
14
  isMeta: false,
16
- };
17
- };
15
+ }));
@@ -1,8 +1,7 @@
1
1
  import type { RatedMinimumNumberPrerequisite } from "@optolith/database-schema/gen";
2
- import type { GetInstanceById } from "../../../../helpers/getTypes.js";
3
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
2
+ import type { StdReader } from "../../../../env.js";
4
3
  import type { PrerequisitePart } from "../part.js";
5
4
  /**
6
5
  * Get the translation of a rated minimum number prerequisite.
7
6
  */
8
- export declare const printRatedMinimumNumberPrerequisite: (getInstanceById: GetInstanceById<"Skill" | "Property" | "Aspect">, locale: LocaleEnvironment, prerequisite: RatedMinimumNumberPrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printRatedMinimumNumberPrerequisite: (prerequisite: RatedMinimumNumberPrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "lc" | "lj" | "ibi", "Skill" | "Property" | "Aspect">;