@optolith/entity-descriptions 0.11.1 → 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 (101) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/entities/activatable.js +11 -5
  3. package/lib/entities/elixir.js +9 -1
  4. package/lib/entities/influence.js +10 -1
  5. package/lib/entities/partial/activatableNameChunks.d.ts +2 -2
  6. package/lib/entities/partial/activatableNameChunks.js +18 -4
  7. package/lib/entities/partial/adventurePointsValue.js +19 -12
  8. package/lib/entities/partial/commonnessRatedAdvantagesAndDisadvantages.d.ts +1 -1
  9. package/lib/entities/partial/commonnessRatedAdvantagesAndDisadvantages.js +1 -1
  10. package/lib/entities/partial/enhancements.d.ts +1 -1
  11. package/lib/entities/partial/enhancements.js +13 -4
  12. package/lib/entities/partial/map.d.ts +1 -1
  13. package/lib/entities/partial/prerequisites/displayOption.d.ts +2 -7
  14. package/lib/entities/partial/prerequisites/displayOption.js +1 -18
  15. package/lib/entities/partial/prerequisites/index.d.ts +22 -20
  16. package/lib/entities/partial/prerequisites/index.js +68 -65
  17. package/lib/entities/partial/prerequisites/part.d.ts +3 -4
  18. package/lib/entities/partial/prerequisites/part.js +13 -11
  19. package/lib/entities/partial/prerequisites/prerequisiteGroups.d.ts +16 -18
  20. package/lib/entities/partial/prerequisites/prerequisiteGroups.js +90 -82
  21. package/lib/entities/partial/prerequisites/single/activatable.d.ts +4 -5
  22. package/lib/entities/partial/prerequisites/single/activatable.js +21 -29
  23. package/lib/entities/partial/prerequisites/single/animistPower.d.ts +2 -3
  24. package/lib/entities/partial/prerequisites/single/animistPower.js +6 -9
  25. package/lib/entities/partial/prerequisites/single/anySpecialAbilityOfGroup.d.ts +1 -1
  26. package/lib/entities/partial/prerequisites/single/anySpecialAbilityOfGroup.js +4 -7
  27. package/lib/entities/partial/prerequisites/single/blessedTradition.d.ts +2 -2
  28. package/lib/entities/partial/prerequisites/single/blessedTradition.js +15 -17
  29. package/lib/entities/partial/prerequisites/single/commonSuggestedByRCP.d.ts +2 -2
  30. package/lib/entities/partial/prerequisites/single/commonSuggestedByRCP.js +9 -6
  31. package/lib/entities/partial/prerequisites/single/culture.d.ts +2 -3
  32. package/lib/entities/partial/prerequisites/single/culture.js +8 -15
  33. package/lib/entities/partial/prerequisites/single/enhancement.d.ts +1 -1
  34. package/lib/entities/partial/prerequisites/single/enhancement.js +1 -1
  35. package/lib/entities/partial/prerequisites/single/influence.d.ts +2 -3
  36. package/lib/entities/partial/prerequisites/single/influence.js +7 -10
  37. package/lib/entities/partial/prerequisites/single/magicalTradition.d.ts +2 -2
  38. package/lib/entities/partial/prerequisites/single/magicalTradition.js +10 -12
  39. package/lib/entities/partial/prerequisites/single/noOtherAncestorBloodAdvantage.d.ts +2 -2
  40. package/lib/entities/partial/prerequisites/single/noOtherAncestorBloodAdvantage.js +4 -3
  41. package/lib/entities/partial/prerequisites/single/pact.d.ts +2 -3
  42. package/lib/entities/partial/prerequisites/single/pact.js +17 -18
  43. package/lib/entities/partial/prerequisites/single/personalityTrait.d.ts +2 -3
  44. package/lib/entities/partial/prerequisites/single/personalityTrait.js +21 -22
  45. package/lib/entities/partial/prerequisites/single/primaryAttribute.d.ts +2 -2
  46. package/lib/entities/partial/prerequisites/single/primaryAttribute.js +6 -8
  47. package/lib/entities/partial/prerequisites/single/profession.d.ts +2 -3
  48. package/lib/entities/partial/prerequisites/single/profession.js +11 -14
  49. package/lib/entities/partial/prerequisites/single/publication.d.ts +2 -3
  50. package/lib/entities/partial/prerequisites/single/publication.js +7 -13
  51. package/lib/entities/partial/prerequisites/single/race.d.ts +2 -3
  52. package/lib/entities/partial/prerequisites/single/race.js +8 -15
  53. package/lib/entities/partial/prerequisites/single/rated.d.ts +2 -3
  54. package/lib/entities/partial/prerequisites/single/rated.js +7 -9
  55. package/lib/entities/partial/prerequisites/single/ratedMinimumNumber.d.ts +2 -3
  56. package/lib/entities/partial/prerequisites/single/ratedMinimumNumber.js +52 -53
  57. package/lib/entities/partial/prerequisites/single/ratedSum.d.ts +2 -3
  58. package/lib/entities/partial/prerequisites/single/ratedSum.js +15 -15
  59. package/lib/entities/partial/prerequisites/single/rule.d.ts +2 -2
  60. package/lib/entities/partial/prerequisites/single/rule.js +2 -1
  61. package/lib/entities/partial/prerequisites/single/sex.d.ts +2 -2
  62. package/lib/entities/partial/prerequisites/single/sex.js +7 -6
  63. package/lib/entities/partial/prerequisites/single/sexualCharacteristic.d.ts +2 -2
  64. package/lib/entities/partial/prerequisites/single/sexualCharacteristic.js +11 -8
  65. package/lib/entities/partial/prerequisites/single/socialStatus.d.ts +2 -3
  66. package/lib/entities/partial/prerequisites/single/socialStatus.js +9 -15
  67. package/lib/entities/partial/prerequisites/single/state.d.ts +2 -3
  68. package/lib/entities/partial/prerequisites/single/state.js +8 -15
  69. package/lib/entities/partial/prerequisites/single/text.d.ts +2 -2
  70. package/lib/entities/partial/prerequisites/single/text.js +4 -3
  71. package/lib/entities/partial/prerequisites/single/tinyActivatable.d.ts +1 -1
  72. package/lib/entities/partial/prerequisites/single/tinyActivatable.js +5 -8
  73. package/lib/entities/partial/rated/activatable/castingTime.d.ts +1 -1
  74. package/lib/entities/partial/rated/activatable/checkResultBased.d.ts +1 -1
  75. package/lib/entities/partial/rated/activatable/cost.d.ts +3 -3
  76. package/lib/entities/partial/rated/activatable/duration.d.ts +1 -1
  77. package/lib/entities/partial/rated/activatable/duration.js +1 -1
  78. package/lib/entities/partial/rated/activatable/effect.d.ts +1 -1
  79. package/lib/entities/partial/rated/activatable/index.d.ts +1 -1
  80. package/lib/entities/partial/rated/activatable/isMinimumMaximum.d.ts +1 -1
  81. package/lib/entities/partial/rated/activatable/nonModifiableSuffix.d.ts +1 -1
  82. package/lib/entities/partial/rated/activatable/nonModifiableSuffix.js +1 -1
  83. package/lib/entities/partial/rated/activatable/range.d.ts +1 -1
  84. package/lib/entities/partial/rated/activatable/targetCategory.d.ts +1 -1
  85. package/lib/entities/partial/rated/improvementCost.d.ts +1 -1
  86. package/lib/entities/partial/rated/skillCheck.d.ts +1 -1
  87. package/lib/entities/partial/reader.d.ts +2 -57
  88. package/lib/entities/partial/responsiveText.d.ts +1 -1
  89. package/lib/entities/partial/units/length.d.ts +1 -1
  90. package/lib/entities/partial/units/timeSpan.d.ts +3 -4
  91. package/lib/entities/personalityTrait.js +8 -1
  92. package/lib/entities/poison.js +5 -1
  93. package/lib/entities/profession.js +9 -15
  94. package/lib/entities/race.d.ts +1 -1
  95. package/lib/entities/race.js +16 -12
  96. package/lib/entities/spell.js +5 -2
  97. package/lib/env.d.ts +66 -0
  98. package/lib/env.js +1 -0
  99. package/lib/references/publicationOptions.d.ts +1 -1
  100. package/lib/tsconfig.tsbuildinfo +1 -1
  101. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { assertExhaustive } from "@optolith/helpers/typeSafety";
2
- import { printActivatablePrerequisite, } from "./single/activatable.js";
2
+ import { printActivatablePrerequisite } from "./single/activatable.js";
3
3
  import { printAnimistPowerPrerequisite } from "./single/animistPower.js";
4
4
  import { printBlessedTraditionPrerequisite } from "./single/blessedTradition.js";
5
5
  import { printCommonSuggestedByRCPPrerequisite } from "./single/commonSuggestedByRCP.js";
@@ -27,14 +27,14 @@ import { printTinyActivatablePrerequisite } from "./single/tinyActivatable.js";
27
27
  /**
28
28
  * Print the translation of a derived characteristic prerequisite group.
29
29
  */
30
- export const printDerivedCharacteristicPrerequisiteGroup = (locale, prerequisite) => {
30
+ export const printDerivedCharacteristicPrerequisiteGroup = (prerequisite) => {
31
31
  switch (prerequisite.kind) {
32
32
  case "Rule":
33
- return printRulePrerequisite(locale, prerequisite.Rule);
33
+ return printRulePrerequisite(prerequisite.Rule);
34
34
  case "BlessedTradition":
35
- return printBlessedTraditionPrerequisite(locale, prerequisite.BlessedTradition);
35
+ return printBlessedTraditionPrerequisite(prerequisite.BlessedTradition);
36
36
  case "MagicalTradition":
37
- return printMagicalTraditionPrerequisite(locale, prerequisite.MagicalTradition);
37
+ return printMagicalTraditionPrerequisite(prerequisite.MagicalTradition);
38
38
  default:
39
39
  return assertExhaustive(prerequisite);
40
40
  }
@@ -42,64 +42,61 @@ export const printDerivedCharacteristicPrerequisiteGroup = (locale, prerequisite
42
42
  /**
43
43
  * Print the translation of a publication prerequisite group.
44
44
  */
45
- export const printPublicationPrerequisiteGroup = (getInstanceById, locale, prerequisite) =>
45
+ export const printPublicationPrerequisiteGroup = (prerequisite) =>
46
46
  // switch (prerequisite.tag) {
47
47
  // case "Publication":
48
48
  // default:
49
49
  // return assertExhaustive(prerequisite)
50
50
  // }
51
- printPublicationPrerequisite(getInstanceById, locale, prerequisite.Publication);
51
+ printPublicationPrerequisite(prerequisite.Publication);
52
52
  /**
53
53
  * Print the translation of a general prerequisite group.
54
54
  */
55
- export const printGeneralPrerequisiteGroup = (getInstanceById, getResolvedSelectOptionById, locale, prerequisite) => {
55
+ export const printGeneralPrerequisiteGroup = (prerequisite) => {
56
56
  switch (prerequisite.kind) {
57
57
  case "Sex":
58
- return printBinarySexPrerequisite(locale.translate, prerequisite.Sex);
58
+ return printBinarySexPrerequisite(prerequisite.Sex);
59
59
  case "Race":
60
- return printRacePrerequisite(getInstanceById, locale, prerequisite.Race);
60
+ return printRacePrerequisite(prerequisite.Race);
61
61
  case "Culture":
62
- return printCulturePrerequisite(getInstanceById, locale, prerequisite.Culture);
62
+ return printCulturePrerequisite(prerequisite.Culture);
63
63
  case "Pact":
64
- return printPactPrerequisite(getInstanceById, locale, prerequisite.Pact);
64
+ return printPactPrerequisite(prerequisite.Pact);
65
65
  case "SocialStatus":
66
- return printSocialStatusPrerequisite(getInstanceById, locale, prerequisite.SocialStatus);
66
+ return printSocialStatusPrerequisite(prerequisite.SocialStatus);
67
67
  case "State":
68
- return printStatePrerequisite(getInstanceById, locale, prerequisite.State);
68
+ return printStatePrerequisite(prerequisite.State);
69
69
  case "Rule":
70
- return printRulePrerequisite(locale, prerequisite.Rule);
70
+ return printRulePrerequisite(prerequisite.Rule);
71
71
  case "PrimaryAttribute":
72
- return printPrimaryAttributePrerequisite(locale, prerequisite.PrimaryAttribute);
72
+ return printPrimaryAttributePrerequisite(prerequisite.PrimaryAttribute);
73
73
  case "Activatable":
74
- return printActivatablePrerequisite(getInstanceById, getResolvedSelectOptionById, locale, prerequisite.Activatable, false);
74
+ return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
75
+ ...env,
76
+ displayedInProfession: false,
77
+ }));
75
78
  case "BlessedTradition":
76
- return printBlessedTraditionPrerequisite(locale, prerequisite.BlessedTradition);
79
+ return printBlessedTraditionPrerequisite(prerequisite.BlessedTradition);
77
80
  case "MagicalTradition":
78
- return printMagicalTraditionPrerequisite(locale, prerequisite.MagicalTradition);
81
+ return printMagicalTraditionPrerequisite(prerequisite.MagicalTradition);
79
82
  case "TinyActivatable":
80
- return printTinyActivatablePrerequisite(prerequisite.TinyActivatable).run({
81
- getInstanceById,
82
- translateMap: locale.translateMap,
83
- });
83
+ return printTinyActivatablePrerequisite(prerequisite.TinyActivatable);
84
84
  case "AnySpecialAbilityOfGroup":
85
- return printMagicalTraditionPrerequisite(locale, prerequisite.AnySpecialAbilityOfGroup);
85
+ return printMagicalTraditionPrerequisite(prerequisite.AnySpecialAbilityOfGroup);
86
86
  case "Rated":
87
- return printRatedPrerequisite(getInstanceById, locale, prerequisite.Rated);
87
+ return printRatedPrerequisite(prerequisite.Rated);
88
88
  case "RatedMinimumNumber":
89
- return printRatedMinimumNumberPrerequisite(getInstanceById, locale, prerequisite.RatedMinimumNumber);
89
+ return printRatedMinimumNumberPrerequisite(prerequisite.RatedMinimumNumber);
90
90
  case "RatedSum":
91
- return printRatedSumPrerequisite(getInstanceById, locale, prerequisite.RatedSum);
91
+ return printRatedSumPrerequisite(prerequisite.RatedSum);
92
92
  case "Enhancement":
93
- return printEnhancementPrerequisite(prerequisite.Enhancement).run({
94
- ...locale,
95
- getInstanceById,
96
- });
93
+ return printEnhancementPrerequisite(prerequisite.Enhancement);
97
94
  case "Text":
98
- return printTextPrerequisite(locale, prerequisite.Text);
95
+ return printTextPrerequisite(prerequisite.Text);
99
96
  case "SexualCharacteristic":
100
- return printSexualCharacteristicPrerequisite(locale, prerequisite.SexualCharacteristic);
97
+ return printSexualCharacteristicPrerequisite(prerequisite.SexualCharacteristic);
101
98
  case "PersonalityTrait":
102
- return printPersonalityTraitPrerequisite(getInstanceById, locale, prerequisite.PersonalityTrait);
99
+ return printPersonalityTraitPrerequisite(prerequisite.PersonalityTrait);
103
100
  default:
104
101
  return assertExhaustive(prerequisite);
105
102
  }
@@ -107,18 +104,21 @@ export const printGeneralPrerequisiteGroup = (getInstanceById, getResolvedSelect
107
104
  /**
108
105
  * Print the translation of a profession prerequisite group.
109
106
  */
110
- export const printProfessionPrerequisiteGroup = (getInstanceById, getResolvedSelectOptionById, locale, prerequisite) => {
107
+ export const printProfessionPrerequisiteGroup = (prerequisite) => {
111
108
  switch (prerequisite.kind) {
112
109
  case "Sex":
113
- return printBinarySexPrerequisite(locale.translate, prerequisite.Sex);
110
+ return printBinarySexPrerequisite(prerequisite.Sex);
114
111
  case "Race":
115
- return printRacePrerequisite(getInstanceById, locale, prerequisite.Race);
112
+ return printRacePrerequisite(prerequisite.Race);
116
113
  case "Culture":
117
- return printCulturePrerequisite(getInstanceById, locale, prerequisite.Culture);
114
+ return printCulturePrerequisite(prerequisite.Culture);
118
115
  case "Activatable":
119
- return printActivatablePrerequisite(getInstanceById, getResolvedSelectOptionById, locale, prerequisite.Activatable, true);
116
+ return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
117
+ ...env,
118
+ displayedInProfession: true,
119
+ }));
120
120
  case "Rated":
121
- return printRatedPrerequisite(getInstanceById, locale, prerequisite.Rated);
121
+ return printRatedPrerequisite(prerequisite.Rated);
122
122
  default:
123
123
  return assertExhaustive(prerequisite);
124
124
  }
@@ -126,12 +126,12 @@ export const printProfessionPrerequisiteGroup = (getInstanceById, getResolvedSel
126
126
  /**
127
127
  * Print the translation of an advantage/disadvantage prerequisite group.
128
128
  */
129
- export const printAdvantageDisadvantagePrerequisiteGroup = (getInstanceById, getResolvedSelectOptionById, locale, prerequisite, name, type) => {
129
+ export const printAdvantageDisadvantagePrerequisiteGroup = (prerequisite, name, type) => {
130
130
  switch (prerequisite.kind) {
131
131
  case "CommonSuggestedByRCP":
132
- return printCommonSuggestedByRCPPrerequisite(locale, name, type);
132
+ return printCommonSuggestedByRCPPrerequisite(name, type);
133
133
  case "NoOtherAncestorBloodAdvantage":
134
- return printNoOtherAncestorBloodAdvantagePrerequisite(locale);
134
+ return printNoOtherAncestorBloodAdvantagePrerequisite;
135
135
  case "Sex":
136
136
  case "Race":
137
137
  case "Culture":
@@ -152,7 +152,7 @@ export const printAdvantageDisadvantagePrerequisiteGroup = (getInstanceById, get
152
152
  case "Text":
153
153
  case "SexualCharacteristic":
154
154
  case "PersonalityTrait":
155
- return printGeneralPrerequisiteGroup(getInstanceById, getResolvedSelectOptionById, locale, prerequisite);
155
+ return printGeneralPrerequisiteGroup(prerequisite);
156
156
  default:
157
157
  return assertExhaustive(prerequisite);
158
158
  }
@@ -160,12 +160,12 @@ export const printAdvantageDisadvantagePrerequisiteGroup = (getInstanceById, get
160
160
  /**
161
161
  * Print the translation of an arcane tradition prerequisite group.
162
162
  */
163
- export const printArcaneTraditionPrerequisiteGroup = (getInstanceById, locale, prerequisite) => {
163
+ export const printArcaneTraditionPrerequisiteGroup = (prerequisite) => {
164
164
  switch (prerequisite.kind) {
165
165
  case "Sex":
166
- return printBinarySexPrerequisite(locale.translate, prerequisite.Sex);
166
+ return printBinarySexPrerequisite(prerequisite.Sex);
167
167
  case "Culture":
168
- return printCulturePrerequisite(getInstanceById, locale, prerequisite.Culture);
168
+ return printCulturePrerequisite(prerequisite.Culture);
169
169
  default:
170
170
  return assertExhaustive(prerequisite);
171
171
  }
@@ -173,16 +173,16 @@ export const printArcaneTraditionPrerequisiteGroup = (getInstanceById, locale, p
173
173
  /**
174
174
  * Print the translation of a personality trait prerequisite group.
175
175
  */
176
- export const printPersonalityTraitPrerequisiteGroup = (getInstanceById, locale, prerequisite) => {
176
+ export const printPersonalityTraitPrerequisiteGroup = (prerequisite) => {
177
177
  switch (prerequisite.kind) {
178
178
  case "Race":
179
- return printRacePrerequisite(getInstanceById, locale, prerequisite.Race);
179
+ return printRacePrerequisite(prerequisite.Race);
180
180
  case "Culture":
181
- return printCulturePrerequisite(getInstanceById, locale, prerequisite.Culture);
181
+ return printCulturePrerequisite(prerequisite.Culture);
182
182
  case "PersonalityTrait":
183
- return printPersonalityTraitPrerequisite(getInstanceById, locale, prerequisite.PersonalityTrait);
183
+ return printPersonalityTraitPrerequisite(prerequisite.PersonalityTrait);
184
184
  case "Text":
185
- return printTextPrerequisite(locale, prerequisite.Text);
185
+ return printTextPrerequisite(prerequisite.Text);
186
186
  default:
187
187
  return assertExhaustive(prerequisite);
188
188
  }
@@ -190,12 +190,12 @@ export const printPersonalityTraitPrerequisiteGroup = (getInstanceById, locale,
190
190
  /**
191
191
  * Print the translation of a spellwork prerequisite group.
192
192
  */
193
- export const printSpellworkPrerequisiteGroup = (getInstanceById, locale, prerequisite) => {
193
+ export const printSpellworkPrerequisiteGroup = (prerequisite) => {
194
194
  switch (prerequisite.kind) {
195
195
  case "Rule":
196
- return printRulePrerequisite(locale, prerequisite.Rule);
196
+ return printRulePrerequisite(prerequisite.Rule);
197
197
  case "Rated":
198
- return printRatedPrerequisite(getInstanceById, locale, prerequisite.Rated);
198
+ return printRatedPrerequisite(prerequisite.Rated);
199
199
  default:
200
200
  return assertExhaustive(prerequisite);
201
201
  }
@@ -203,28 +203,31 @@ export const printSpellworkPrerequisiteGroup = (getInstanceById, locale, prerequ
203
203
  /**
204
204
  * Print the translation of a liturgy prerequisite group.
205
205
  */
206
- export const printLiturgyPrerequisiteGroup = (locale, prerequisite) =>
206
+ export const printLiturgyPrerequisiteGroup = (prerequisite) =>
207
207
  // switch (prerequisite.tag) {
208
208
  // case "Rule":
209
209
  // default:
210
210
  // return assertExhaustive(prerequisite)
211
211
  // }
212
- printRulePrerequisite(locale, prerequisite.Rule);
212
+ printRulePrerequisite(prerequisite.Rule);
213
213
  /**
214
214
  * Print the translation of an influence prerequisite group.
215
215
  */
216
- export const printInfluencePrerequisiteGroup = (getInstanceById, getResolvedSelectOptionById, getChildInstancesForInstanceId, locale, prerequisite) => {
216
+ export const printInfluencePrerequisiteGroup = (prerequisite) => {
217
217
  switch (prerequisite.kind) {
218
218
  case "Influence":
219
- return printInfluencePrerequisite(getInstanceById, locale, prerequisite.Influence);
219
+ return printInfluencePrerequisite(prerequisite.Influence);
220
220
  case "Race":
221
- return printRacePrerequisite(getInstanceById, locale, prerequisite.Race);
221
+ return printRacePrerequisite(prerequisite.Race);
222
222
  case "Profession":
223
- return printProfessionPrerequisite(getChildInstancesForInstanceId, locale, prerequisite.Profession);
223
+ return printProfessionPrerequisite(prerequisite.Profession);
224
224
  case "Activatable":
225
- return printActivatablePrerequisite(getInstanceById, getResolvedSelectOptionById, locale, prerequisite.Activatable, false);
225
+ return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
226
+ ...env,
227
+ displayedInProfession: false,
228
+ }));
226
229
  case "Text":
227
- return printTextPrerequisite(locale, prerequisite.Text);
230
+ return printTextPrerequisite(prerequisite.Text);
228
231
  default:
229
232
  return assertExhaustive(prerequisite);
230
233
  }
@@ -232,14 +235,17 @@ export const printInfluencePrerequisiteGroup = (getInstanceById, getResolvedSele
232
235
  /**
233
236
  * Print the translation of a language prerequisite group.
234
237
  */
235
- export const printLanguagePrerequisiteGroup = (getInstanceById, getResolvedSelectOptionById, locale, prerequisite) => {
238
+ export const printLanguagePrerequisiteGroup = (prerequisite) => {
236
239
  switch (prerequisite.kind) {
237
240
  case "Race":
238
- return printRacePrerequisite(getInstanceById, locale, prerequisite.Race);
241
+ return printRacePrerequisite(prerequisite.Race);
239
242
  case "Activatable":
240
- return printActivatablePrerequisite(getInstanceById, getResolvedSelectOptionById, locale, prerequisite.Activatable, false);
243
+ return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
244
+ ...env,
245
+ displayedInProfession: false,
246
+ }));
241
247
  case "Text":
242
- return printTextPrerequisite(locale, prerequisite.Text);
248
+ return printTextPrerequisite(prerequisite.Text);
243
249
  default:
244
250
  return assertExhaustive(prerequisite);
245
251
  }
@@ -247,22 +253,25 @@ export const printLanguagePrerequisiteGroup = (getInstanceById, getResolvedSelec
247
253
  /**
248
254
  * Print the translation of an animist power prerequisite group.
249
255
  */
250
- export const printAnimistPowerPrerequisiteGroup = (getInstanceById, locale, prerequisite) =>
256
+ export const printAnimistPowerPrerequisiteGroup = (prerequisite) =>
251
257
  // switch (prerequisite.tag) {
252
258
  // case "AnimistPower":
253
259
  // default:
254
260
  // return assertExhaustive(prerequisite)
255
261
  // }
256
- printAnimistPowerPrerequisite(getInstanceById, locale, prerequisite.AnimistPower);
262
+ printAnimistPowerPrerequisite(prerequisite.AnimistPower);
257
263
  /**
258
264
  * Print the translation of a geode ritual prerequisite group.
259
265
  */
260
- export const printGeodeRitualPrerequisiteGroup = (getInstanceById, getResolvedSelectOptionById, locale, prerequisite) => {
266
+ export const printGeodeRitualPrerequisiteGroup = (prerequisite) => {
261
267
  switch (prerequisite.kind) {
262
268
  case "Activatable":
263
- return printActivatablePrerequisite(getInstanceById, getResolvedSelectOptionById, locale, prerequisite.Activatable, false);
269
+ return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
270
+ ...env,
271
+ displayedInProfession: false,
272
+ }));
264
273
  case "Influence":
265
- return printInfluencePrerequisite(getInstanceById, locale, prerequisite.Influence);
274
+ return printInfluencePrerequisite(prerequisite.Influence);
266
275
  default:
267
276
  return assertExhaustive(prerequisite);
268
277
  }
@@ -270,16 +279,15 @@ export const printGeodeRitualPrerequisiteGroup = (getInstanceById, getResolvedSe
270
279
  /**
271
280
  * Print the translation of an enhancement prerequisite group.
272
281
  */
273
- export const printEnhancementPrerequisiteGroup = (getInstanceById, locale, prerequisite) => {
282
+ export const printEnhancementPrerequisiteGroup = (prerequisite) => {
274
283
  switch (prerequisite.kind) {
275
284
  case "Rated":
276
- return printRatedPrerequisite(getInstanceById, locale, prerequisite.Rated);
285
+ return printRatedPrerequisite(prerequisite.Rated);
277
286
  case "Enhancement":
278
- return printEnhancementPrerequisite(prerequisite.Enhancement).run({
279
- ...locale,
280
- getInstanceById,
287
+ return printEnhancementPrerequisite(prerequisite.Enhancement).with(env => ({
288
+ ...env,
281
289
  hideParent: true,
282
- });
290
+ }));
283
291
  default:
284
292
  return assertExhaustive(prerequisite);
285
293
  }
@@ -287,14 +295,14 @@ export const printEnhancementPrerequisiteGroup = (getInstanceById, locale, prere
287
295
  /**
288
296
  * Print the translation of a precondition group.
289
297
  */
290
- export const printPreconditionGroup = (getInstanceById, locale, prerequisite) => {
298
+ export const printPreconditionGroup = (prerequisite) => {
291
299
  switch (prerequisite.kind) {
292
300
  case "Publication":
293
- return printPublicationPrerequisite(getInstanceById, locale, prerequisite.Publication);
301
+ return printPublicationPrerequisite(prerequisite.Publication);
294
302
  case "Rule":
295
- return printRulePrerequisite(locale, prerequisite.Rule);
303
+ return printRulePrerequisite(prerequisite.Rule);
296
304
  case "SexualCharacteristic":
297
- return printSexualCharacteristicPrerequisite(locale, prerequisite.SexualCharacteristic);
305
+ return printSexualCharacteristicPrerequisite(prerequisite.SexualCharacteristic);
298
306
  default:
299
307
  return assertExhaustive(prerequisite);
300
308
  }
@@ -1,8 +1,7 @@
1
1
  import type { ResolvedSelectOption, ResolvedSelectOptionIdentifier } from "@optolith/database-schema/cache";
2
2
  import type { ActivatableIdentifier, ActivatablePrerequisite, RequirableSelectOptionIdentifier } from "@optolith/database-schema/gen";
3
- import type { GetInstanceById } from "../../../../helpers/getTypes.js";
4
- import type { LocaleEnvironment } from "../../../../helpers/locale.js";
5
- import type { Translate } from "../../../../helpers/translate.js";
3
+ import type { StdReader } from "../../../../env.js";
4
+ import { type ActivatableNameComponents } from "../../activatableNameChunks.js";
6
5
  import type { PrerequisitePart } from "../part.js";
7
6
  /**
8
7
  * Gets a resolved select option by its identifier.
@@ -11,8 +10,8 @@ export type GetResolvedSelectOptionById = (id: ActivatableIdentifier, selectOpti
11
10
  /**
12
11
  * Get the name components of an activatable.
13
12
  */
14
- export declare const printActivatableName: (getInstanceById: GetInstanceById<ActivatableIdentifier["kind"] | "Aspect">, translate: Translate, id: ActivatableIdentifier, options: RequirableSelectOptionIdentifier[] | undefined, level: number | undefined, getResolvedSelectOptionById: GetResolvedSelectOptionById, displayedInProfession: boolean) => import("../../activatableNameChunks.js").ActivatableNameComponents | undefined;
13
+ export declare const printActivatableName: (id: ActivatableIdentifier, options: RequirableSelectOptionIdentifier[] | undefined, level: number | undefined) => StdReader<ActivatableNameComponents | undefined, "t" | "rso" | "ibi" | "dip", ActivatableIdentifier["kind"] | "Aspect">;
15
14
  /**
16
15
  * Get the translation of a blessed tradition prerequisite.
17
16
  */
18
- export declare const printActivatablePrerequisite: (getInstanceById: GetInstanceById<ActivatableIdentifier["kind"] | "Aspect">, getResolvedSelectOptionById: GetResolvedSelectOptionById, locale: Pick<LocaleEnvironment, "translate" | "translateMap">, prerequisite: ActivatablePrerequisite, displayedInProfession: boolean) => PrerequisitePart | undefined;
17
+ export declare const printActivatablePrerequisite: (prerequisite: ActivatablePrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "rso" | "ibi" | "dip", ActivatableIdentifier["kind"] | "Aspect">;
@@ -1,40 +1,32 @@
1
+ import { Reader } from "@elyukai/utils/reader";
1
2
  import { getNameComponents } from "../../activatableNameChunks.js";
3
+ import { getInstanceByIdR, translateR } from "../../reader.js";
4
+ import { MISSING_VALUE } from "../../unknown.js";
2
5
  import { printDisplayOption } from "../displayOption.js";
3
6
  /**
4
7
  * Get the name components of an activatable.
5
8
  */
6
- export const printActivatableName = (getInstanceById, translate, id, options, level, getResolvedSelectOptionById, displayedInProfession) => {
7
- const entry = getInstanceById(id);
8
- if (entry === undefined) {
9
- return undefined;
10
- }
11
- return getNameComponents(translate, id, options, level, entry.nameBuilderRules, entry.translations, t => t.name, getResolvedSelectOptionById, displayedInProfession);
12
- };
9
+ export const printActivatableName = (id, options, level) => getInstanceByIdR(id).thenW((entry) => entry === undefined
10
+ ? Reader.of(undefined)
11
+ : Reader.asks((env) => getNameComponents(env.translate, id, options, level, entry.nameBuilderRules, entry.translations, t => t.name, env.getResolvedSelectOptionById, env.displayedInProfession)));
13
12
  /**
14
13
  * Get the translation of a blessed tradition prerequisite.
15
14
  */
16
- export const printActivatablePrerequisite = (getInstanceById, getResolvedSelectOptionById, locale, prerequisite, displayedInProfession) => {
17
- if (prerequisite.display_option !== undefined) {
18
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
19
- }
20
- const nameComponents = printActivatableName(getInstanceById, locale.translate, prerequisite.id, prerequisite.options, prerequisite.level, getResolvedSelectOptionById, displayedInProfession);
21
- if (nameComponents === undefined) {
22
- return undefined;
23
- }
24
- return {
25
- label: `${prerequisite.id.kind === "Advantage"
15
+ export const printActivatablePrerequisite = (prerequisite) => prerequisite.display_option !== undefined
16
+ ? printDisplayOption(prerequisite.display_option)
17
+ : printActivatableName(prerequisite.id, prerequisite.options, prerequisite.level).then(nameComponents => (prerequisite.id.kind === "Advantage"
18
+ ? prerequisite.active
19
+ ? translateR("advantage")
20
+ : translateR("no advantage")
21
+ : prerequisite.id.kind === "Disadvantage"
26
22
  ? prerequisite.active
27
- ? locale.translate("advantage")
28
- : locale.translate("no advantage")
29
- : prerequisite.id.kind === "Disadvantage"
30
- ? prerequisite.active
31
- ? locale.translate("disadvantage")
32
- : locale.translate("no disadvantage")
33
- : prerequisite.active
34
- ? locale.translate("special ability")
35
- : locale.translate("no special ability")} `,
36
- value: nameComponents,
23
+ ? translateR("disadvantage")
24
+ : translateR("no disadvantage")
25
+ : prerequisite.active
26
+ ? translateR("special ability")
27
+ : translateR("no special ability")).map((label) => ({
28
+ label: `${label} `,
29
+ value: nameComponents ?? MISSING_VALUE,
37
30
  sentenceType: undefined,
38
31
  isMeta: false,
39
- };
40
- };
32
+ })));
@@ -1,8 +1,7 @@
1
1
  import type { AnimistPowerPrerequisite } 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 printAnimistPowerPrerequisite: (getInstanceById: GetInstanceById<"AnimistPower">, locale: LocaleEnvironment, prerequisite: AnimistPowerPrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printAnimistPowerPrerequisite: (prerequisite: AnimistPowerPrerequisite) => StdReader<PrerequisitePart | undefined, "tm" | "ibi", "AnimistPower">;
@@ -1,17 +1,15 @@
1
1
  import { isNotNullish } from "@optolith/helpers/nullable";
2
2
  import { romanize } from "@optolith/helpers/roman";
3
+ import { attributedNameR } from "../../reader.js";
3
4
  import { printDisplayOption } from "../displayOption.js";
4
5
  /**
5
6
  * Get the translation of a culture prerequisite.
6
7
  */
7
- export const printAnimistPowerPrerequisite = (getInstanceById, locale, prerequisite) => {
8
- if (prerequisite.display_option !== undefined) {
9
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
10
- }
11
- const animistPower = getInstanceById("AnimistPower", prerequisite.id);
12
- return {
8
+ export const printAnimistPowerPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
9
+ ? printDisplayOption(prerequisite.display_option)
10
+ : attributedNameR("prerequisite", "AnimistPower", prerequisite.id).map(name => ({
13
11
  value: [
14
- locale.translateMap(animistPower?.translations)?.name ?? "MISSING_VALUE",
12
+ name ?? "MISSING_VALUE",
15
13
  prerequisite.level === undefined ? undefined : romanize(prerequisite.level),
16
14
  prerequisite.value.toFixed(),
17
15
  ]
@@ -19,5 +17,4 @@ export const printAnimistPowerPrerequisite = (getInstanceById, locale, prerequis
19
17
  .join(" "),
20
18
  sentenceType: undefined,
21
19
  isMeta: false,
22
- };
23
- };
20
+ }));
@@ -1,5 +1,5 @@
1
1
  import type { AnySpecialAbilityOfGroupPrerequisite } from "@optolith/database-schema/gen";
2
- import { type StdReader } from "../../reader.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 tiny activatable prerequisite.
@@ -1,17 +1,14 @@
1
1
  import { translateR } from "../../reader.js";
2
- import { printDisplayOptionR } from "../displayOption.js";
2
+ import { printDisplayOption } from "../displayOption.js";
3
3
  /**
4
4
  * Get the translation of a tiny activatable prerequisite.
5
5
  */
6
- export const printAnySpecialAbilityOfGroupPrerequisite = (prerequisite) => {
7
- if (prerequisite.display_option !== undefined) {
8
- return printDisplayOptionR(prerequisite.display_option);
9
- }
10
- return translateR(".input {$entity :string} {{a special ability}}", {
6
+ export const printAnySpecialAbilityOfGroupPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
7
+ ? printDisplayOption(prerequisite.display_option)
8
+ : translateR(".input {$entity :string} {{a special ability}}", {
11
9
  entity: prerequisite.group.kind,
12
10
  }).map(name => ({
13
11
  value: name,
14
12
  sentenceType: undefined,
15
13
  isMeta: false,
16
14
  }));
17
- };
@@ -1,7 +1,7 @@
1
1
  import type { BlessedTraditionPrerequisite } 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 blessed tradition prerequisite.
6
6
  */
7
- export declare const printBlessedTraditionPrerequisite: (locale: LocaleEnvironment, prerequisite: BlessedTraditionPrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printBlessedTraditionPrerequisite: (prerequisite: BlessedTraditionPrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm">;
@@ -1,17 +1,18 @@
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 "Church":
6
- return locale.translate("Tradition ({$tradition})", {
7
- tradition: locale.translate("Church"),
8
- });
7
+ return translateR("Church").then(tradition => translateR("Tradition ({$tradition})", {
8
+ tradition,
9
+ }));
9
10
  case "Shamanistic":
10
- return locale.translate("Tradition ({$tradition})", {
11
- tradition: locale.translate("Shaman"),
12
- });
11
+ return translateR("Shaman").then(tradition => translateR("Tradition ({$tradition})", {
12
+ tradition,
13
+ }));
13
14
  case undefined:
14
- return locale.translate("Tradition");
15
+ return translateR("Tradition");
15
16
  default:
16
17
  return assertExhaustive(restriction);
17
18
  }
@@ -19,14 +20,11 @@ const printValue = (locale, restriction) => {
19
20
  /**
20
21
  * Get the translation of a blessed tradition prerequisite.
21
22
  */
22
- export const printBlessedTraditionPrerequisite = (locale, prerequisite) => {
23
- if (prerequisite.display_option !== undefined) {
24
- return printDisplayOption(locale.translateMap, prerequisite.display_option);
25
- }
26
- return {
27
- label: `${locale.translate("special ability")} `,
28
- value: printValue(locale, prerequisite.restriction),
23
+ export const printBlessedTraditionPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
24
+ ? printDisplayOption(prerequisite.display_option)
25
+ : translateR("special ability").then(label => printValue(prerequisite.restriction).map((value) => ({
26
+ label: `${label} `,
27
+ value,
29
28
  sentenceType: undefined,
30
29
  isMeta: false,
31
- };
32
- };
30
+ })));
@@ -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 printCommonSuggestedByRCPPrerequisite: (locale: LocaleEnvironment, name: string, type: "Advantage" | "Disadvantage") => PrerequisitePart | undefined;
6
+ export declare const printCommonSuggestedByRCPPrerequisite: (name: string, type: "Advantage" | "Disadvantage") => StdReader<PrerequisitePart | undefined, "t">;
@@ -1,10 +1,11 @@
1
1
  import { assertExhaustive } from "@optolith/helpers/typeSafety";
2
- const printType = (locale, type) => {
2
+ import { translateR } from "../../reader.js";
3
+ const printType = (type) => {
3
4
  switch (type) {
4
5
  case "Advantage":
5
- return locale.translate("advantage");
6
+ return translateR("advantage");
6
7
  case "Disadvantage":
7
- return locale.translate("disadvantage");
8
+ return translateR("disadvantage");
8
9
  default:
9
10
  return assertExhaustive(type);
10
11
  }
@@ -12,8 +13,10 @@ const printType = (locale, type) => {
12
13
  /**
13
14
  * Get the translation of a culture prerequisite.
14
15
  */
15
- export const printCommonSuggestedByRCPPrerequisite = (locale, name, type) => ({
16
- value: locale.translate("Race, culture, or profession must have {$entry} as an automatic or suggested {$itemOfCategory}", { entry: name, itemOfCategory: printType(locale, type) }),
16
+ export const printCommonSuggestedByRCPPrerequisite = (name, type) => printType(type)
17
+ .then(itemOfCategory => translateR("Race, culture, or profession must have {$entry} as an automatic or suggested {$itemOfCategory}", { entry: name, itemOfCategory }))
18
+ .map((value) => ({
19
+ value,
17
20
  sentenceType: undefined,
18
21
  isMeta: false,
19
- });
22
+ }));
@@ -1,8 +1,7 @@
1
1
  import type { CulturePrerequisite } 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 printCulturePrerequisite: (getInstanceById: GetInstanceById<"Culture">, locale: Pick<LocaleEnvironment, "translate" | "translateMap">, prerequisite: CulturePrerequisite) => PrerequisitePart | undefined;
7
+ export declare const printCulturePrerequisite: (prerequisite: CulturePrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Culture">;