@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.
- package/CHANGELOG.md +19 -0
- package/lib/entities/activatable.d.ts +2 -1
- package/lib/entities/activatable.js +45 -18
- package/lib/entities/disease.d.ts +1 -1
- package/lib/entities/elixir.js +9 -1
- package/lib/entities/equipment.d.ts +1 -1
- package/lib/entities/influence.js +10 -1
- package/lib/entities/partial/activatableNameChunks.d.ts +2 -2
- package/lib/entities/partial/activatableNameChunks.js +18 -4
- package/lib/entities/partial/adventurePointsValue.js +19 -12
- package/lib/entities/partial/commonnessRatedAdvantagesAndDisadvantages.d.ts +1 -1
- package/lib/entities/partial/commonnessRatedAdvantagesAndDisadvantages.js +1 -1
- package/lib/entities/partial/enhancements.d.ts +1 -1
- package/lib/entities/partial/enhancements.js +13 -4
- package/lib/entities/partial/map.d.ts +1 -1
- package/lib/entities/partial/prerequisites/displayOption.d.ts +2 -7
- package/lib/entities/partial/prerequisites/displayOption.js +1 -18
- package/lib/entities/partial/prerequisites/index.d.ts +22 -20
- package/lib/entities/partial/prerequisites/index.js +68 -65
- package/lib/entities/partial/prerequisites/part.d.ts +3 -4
- package/lib/entities/partial/prerequisites/part.js +13 -11
- package/lib/entities/partial/prerequisites/prerequisiteGroups.d.ts +16 -18
- package/lib/entities/partial/prerequisites/prerequisiteGroups.js +90 -82
- package/lib/entities/partial/prerequisites/single/activatable.d.ts +4 -5
- package/lib/entities/partial/prerequisites/single/activatable.js +21 -29
- package/lib/entities/partial/prerequisites/single/animistPower.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/animistPower.js +6 -9
- package/lib/entities/partial/prerequisites/single/anySpecialAbilityOfGroup.d.ts +1 -1
- package/lib/entities/partial/prerequisites/single/anySpecialAbilityOfGroup.js +4 -7
- package/lib/entities/partial/prerequisites/single/blessedTradition.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/blessedTradition.js +15 -17
- package/lib/entities/partial/prerequisites/single/commonSuggestedByRCP.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/commonSuggestedByRCP.js +9 -6
- package/lib/entities/partial/prerequisites/single/culture.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/culture.js +8 -15
- package/lib/entities/partial/prerequisites/single/enhancement.d.ts +1 -1
- package/lib/entities/partial/prerequisites/single/enhancement.js +1 -1
- package/lib/entities/partial/prerequisites/single/influence.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/influence.js +7 -10
- package/lib/entities/partial/prerequisites/single/magicalTradition.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/magicalTradition.js +10 -12
- package/lib/entities/partial/prerequisites/single/noOtherAncestorBloodAdvantage.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/noOtherAncestorBloodAdvantage.js +4 -3
- package/lib/entities/partial/prerequisites/single/pact.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/pact.js +17 -18
- package/lib/entities/partial/prerequisites/single/personalityTrait.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/personalityTrait.js +21 -22
- package/lib/entities/partial/prerequisites/single/primaryAttribute.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/primaryAttribute.js +6 -8
- package/lib/entities/partial/prerequisites/single/profession.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/profession.js +11 -14
- package/lib/entities/partial/prerequisites/single/publication.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/publication.js +7 -13
- package/lib/entities/partial/prerequisites/single/race.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/race.js +8 -15
- package/lib/entities/partial/prerequisites/single/rated.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/rated.js +7 -9
- package/lib/entities/partial/prerequisites/single/ratedMinimumNumber.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/ratedMinimumNumber.js +52 -53
- package/lib/entities/partial/prerequisites/single/ratedSum.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/ratedSum.js +15 -15
- package/lib/entities/partial/prerequisites/single/rule.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/rule.js +2 -1
- package/lib/entities/partial/prerequisites/single/sex.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/sex.js +7 -6
- package/lib/entities/partial/prerequisites/single/sexualCharacteristic.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/sexualCharacteristic.js +11 -8
- package/lib/entities/partial/prerequisites/single/socialStatus.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/socialStatus.js +9 -15
- package/lib/entities/partial/prerequisites/single/state.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/state.js +8 -15
- package/lib/entities/partial/prerequisites/single/text.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/text.js +4 -3
- package/lib/entities/partial/prerequisites/single/tinyActivatable.d.ts +1 -1
- package/lib/entities/partial/prerequisites/single/tinyActivatable.js +5 -8
- package/lib/entities/partial/rated/activatable/castingTime.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/checkResultBased.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/cost.d.ts +3 -3
- package/lib/entities/partial/rated/activatable/duration.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/duration.js +1 -1
- package/lib/entities/partial/rated/activatable/effect.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/index.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/isMinimumMaximum.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/nonModifiableSuffix.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/nonModifiableSuffix.js +1 -1
- package/lib/entities/partial/rated/activatable/range.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/targetCategory.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/targetCategory.js +2 -5
- package/lib/entities/partial/rated/improvementCost.d.ts +1 -1
- package/lib/entities/partial/rated/skillCheck.d.ts +1 -1
- package/lib/entities/partial/reader.d.ts +3 -58
- package/lib/entities/partial/responsiveText.d.ts +2 -2
- package/lib/entities/partial/units/length.d.ts +1 -1
- package/lib/entities/partial/units/timeSpan.d.ts +3 -4
- package/lib/entities/personalityTrait.js +8 -1
- package/lib/entities/poison.js +5 -1
- package/lib/entities/profession.js +9 -15
- package/lib/entities/race.d.ts +1 -1
- package/lib/entities/race.js +16 -12
- package/lib/entities/spell.js +5 -2
- package/lib/env.d.ts +66 -0
- package/lib/env.js +1 -0
- package/lib/index.d.ts +88 -88
- package/lib/references/publicationOptions.d.ts +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/lib/entities/partial/prerequisites/single/anyActivatableOfGroup.d.ts +0 -7
- package/lib/entities/partial/prerequisites/single/anyActivatableOfGroup.js +0 -16
- package/lib/entities/partial/prerequisites/single/rated copy.d.ts +0 -8
- package/lib/entities/partial/prerequisites/single/rated copy.js +0 -17
- package/lib/entities/partial/prerequisites/single/tinyActivatable copy.d.ts +0 -7
- package/lib/entities/partial/prerequisites/single/tinyActivatable copy.js +0 -16
- package/lib/helpers/publicationOptions.d.ts +0 -42
- package/lib/helpers/publicationOptions.js +0 -64
|
@@ -1,67 +1,69 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import
|
|
1
|
+
import { Reader } from "@elyukai/utils/reader";
|
|
2
|
+
import type { ActivatableIdentifier, AdvantageDisadvantagePrerequisites, AnimistPowerPrerequisites, ArcaneTraditionPrerequisites, DerivedCharacteristicPrerequisites, EnhancementPrerequisites, GeneralPrerequisites, GeodeRitualPrerequisites, InfluencePrerequisites, LanguagePrerequisites, LiturgyPrerequisites, PersonalityTraitPrerequisites, PlainGeneralPrerequisites, ProfessionPrerequisites, PublicationPrerequisites, SpellworkPrerequisites } from "@optolith/database-schema/gen";
|
|
3
|
+
import type { StdEnv } from "../../../env.js";
|
|
4
|
+
import { printAdvantageDisadvantagePrerequisiteGroup, printAnimistPowerPrerequisiteGroup, printArcaneTraditionPrerequisiteGroup, printDerivedCharacteristicPrerequisiteGroup, printEnhancementPrerequisiteGroup, printGeneralPrerequisiteGroup, printGeodeRitualPrerequisiteGroup, printInfluencePrerequisiteGroup, printLanguagePrerequisiteGroup, printLiturgyPrerequisiteGroup, printPersonalityTraitPrerequisiteGroup, printProfessionPrerequisiteGroup, printPublicationPrerequisiteGroup, printSpellworkPrerequisiteGroup } from "./prerequisiteGroups.js";
|
|
5
|
+
type DeriveEnvF<T extends (...args: any[]) => any> = ReturnType<T> extends Reader<infer E, unknown> ? E : never;
|
|
5
6
|
/**
|
|
6
7
|
* Print derived characteristic prerequisites as a string.
|
|
7
8
|
*/
|
|
8
|
-
export declare const printDerivedCharacteristicPrerequisites: (
|
|
9
|
+
export declare const printDerivedCharacteristicPrerequisites: (value: DerivedCharacteristicPrerequisites) => Reader<DeriveEnvF<typeof printDerivedCharacteristicPrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
9
10
|
/**
|
|
10
11
|
* Print publication prerequisites as a string.
|
|
11
12
|
*/
|
|
12
|
-
export declare const printPublicationPrerequisites: (
|
|
13
|
+
export declare const printPublicationPrerequisites: (value: PublicationPrerequisites) => Reader<DeriveEnvF<typeof printPublicationPrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
13
14
|
/**
|
|
14
15
|
* Print plain general prerequisites as a string.
|
|
15
16
|
*/
|
|
16
|
-
export declare const printPlainGeneralPrerequisites: (
|
|
17
|
+
export declare const printPlainGeneralPrerequisites: (value: PlainGeneralPrerequisites) => Reader<DeriveEnvF<typeof printGeneralPrerequisiteGroup>, string>;
|
|
17
18
|
/**
|
|
18
19
|
* Print general prerequisites as a string.
|
|
19
20
|
*/
|
|
20
|
-
export declare const printGeneralPrerequisites: (
|
|
21
|
+
export declare const printGeneralPrerequisites: (value: GeneralPrerequisites, printPreviousLevelPrerequisites?: {
|
|
21
22
|
id: ActivatableIdentifier;
|
|
22
23
|
levels: number;
|
|
23
|
-
}, trailingText?: string) => string
|
|
24
|
+
}, trailingText?: string) => Reader<DeriveEnvF<typeof printGeneralPrerequisiteGroup>, string>;
|
|
24
25
|
/**
|
|
25
26
|
* Print profession prerequisites as a string.
|
|
26
27
|
*/
|
|
27
|
-
export declare const printProfessionPrerequisites: (
|
|
28
|
+
export declare const printProfessionPrerequisites: (value: ProfessionPrerequisites) => Reader<DeriveEnvF<typeof printProfessionPrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
28
29
|
/**
|
|
29
30
|
* Print advantage disadvantage prerequisites as a string.
|
|
30
31
|
*/
|
|
31
|
-
export declare const printAdvantageDisadvantagePrerequisites: (
|
|
32
|
+
export declare const printAdvantageDisadvantagePrerequisites: (value: AdvantageDisadvantagePrerequisites, name: string, type: "Advantage" | "Disadvantage") => Reader<DeriveEnvF<typeof printAdvantageDisadvantagePrerequisiteGroup>, string>;
|
|
32
33
|
/**
|
|
33
34
|
* Print arcane tradition prerequisites as a string.
|
|
34
35
|
*/
|
|
35
|
-
export declare const printArcaneTraditionPrerequisites: (
|
|
36
|
+
export declare const printArcaneTraditionPrerequisites: (value: ArcaneTraditionPrerequisites) => Reader<DeriveEnvF<typeof printArcaneTraditionPrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
36
37
|
/**
|
|
37
38
|
* Print personality trait prerequisites as a string.
|
|
38
39
|
*/
|
|
39
|
-
export declare const printPersonalityTraitPrerequisites: (
|
|
40
|
+
export declare const printPersonalityTraitPrerequisites: (value: PersonalityTraitPrerequisites) => Reader<DeriveEnvF<typeof printPersonalityTraitPrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
40
41
|
/**
|
|
41
42
|
* Print spellwork prerequisites as a string.
|
|
42
43
|
*/
|
|
43
|
-
export declare const printSpellworkPrerequisites: (
|
|
44
|
+
export declare const printSpellworkPrerequisites: (value: SpellworkPrerequisites) => Reader<DeriveEnvF<typeof printSpellworkPrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
44
45
|
/**
|
|
45
46
|
* Print liturgy prerequisites as a string.
|
|
46
47
|
*/
|
|
47
|
-
export declare const printLiturgyPrerequisites: (
|
|
48
|
+
export declare const printLiturgyPrerequisites: (value: LiturgyPrerequisites) => Reader<DeriveEnvF<typeof printLiturgyPrerequisiteGroup> & StdEnv<"t" | "tm" | "lj" | "lc">, string>;
|
|
48
49
|
/**
|
|
49
50
|
* Print influence prerequisites as a string.
|
|
50
51
|
*/
|
|
51
|
-
export declare const printInfluencePrerequisites: (
|
|
52
|
+
export declare const printInfluencePrerequisites: (value: InfluencePrerequisites) => Reader<DeriveEnvF<typeof printInfluencePrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
52
53
|
/**
|
|
53
54
|
* Print language prerequisites as a string.
|
|
54
55
|
*/
|
|
55
|
-
export declare const printLanguagePrerequisites: (
|
|
56
|
+
export declare const printLanguagePrerequisites: (value: LanguagePrerequisites) => Reader<DeriveEnvF<typeof printLanguagePrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
56
57
|
/**
|
|
57
58
|
* Print animist power prerequisites as a string.
|
|
58
59
|
*/
|
|
59
|
-
export declare const printAnimistPowerPrerequisites: (
|
|
60
|
+
export declare const printAnimistPowerPrerequisites: (value: AnimistPowerPrerequisites) => Reader<DeriveEnvF<typeof printAnimistPowerPrerequisiteGroup> & StdEnv<"t" | "lj" | "lc">, string>;
|
|
60
61
|
/**
|
|
61
62
|
* Print geode ritual prerequisites as a string.
|
|
62
63
|
*/
|
|
63
|
-
export declare const printGeodeRitualPrerequisites: (
|
|
64
|
+
export declare const printGeodeRitualPrerequisites: (value: GeodeRitualPrerequisites) => Reader<DeriveEnvF<typeof printGeodeRitualPrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
64
65
|
/**
|
|
65
66
|
* Print enhancement prerequisites as a string.
|
|
66
67
|
*/
|
|
67
|
-
export declare const printEnhancementPrerequisites: (
|
|
68
|
+
export declare const printEnhancementPrerequisites: (value: EnhancementPrerequisites) => Reader<DeriveEnvF<typeof printEnhancementPrerequisiteGroup> & StdEnv<"lj" | "lc">, string>;
|
|
69
|
+
export {};
|
|
@@ -1,63 +1,70 @@
|
|
|
1
1
|
import { isNotEmpty } from "@elyukai/utils/array/nonEmpty";
|
|
2
2
|
import { on } from "@elyukai/utils/function";
|
|
3
3
|
import { mapNullable } from "@elyukai/utils/nullable";
|
|
4
|
+
import { Reader } from "@elyukai/utils/reader";
|
|
4
5
|
import { numAsc } from "@optolith/helpers/compare";
|
|
5
6
|
import { isNotNullish } from "@optolith/helpers/nullable";
|
|
6
7
|
import { romanize } from "@optolith/helpers/roman";
|
|
7
8
|
import { assertExhaustive } from "@optolith/helpers/typeSafety";
|
|
8
9
|
import { renderActivatableNameComponents, renderActivatableNameComponentsCombinedIfPossible, } from "../activatableNameChunks.js";
|
|
10
|
+
import { localeJoinR, translateR } from "../reader.js";
|
|
9
11
|
import { MISSING_VALUE } from "../unknown.js";
|
|
10
12
|
import { printDisplayOption } from "./displayOption.js";
|
|
11
13
|
import { hasPartValueObject, joinPrerequisiteParts } from "./part.js";
|
|
12
14
|
import { printAdvantageDisadvantagePrerequisiteGroup, printAnimistPowerPrerequisiteGroup, printArcaneTraditionPrerequisiteGroup, printDerivedCharacteristicPrerequisiteGroup, printEnhancementPrerequisiteGroup, printGeneralPrerequisiteGroup, printGeodeRitualPrerequisiteGroup, printInfluencePrerequisiteGroup, printLanguagePrerequisiteGroup, printLiturgyPrerequisiteGroup, printPersonalityTraitPrerequisiteGroup, printProfessionPrerequisiteGroup, printPublicationPrerequisiteGroup, printSpellworkPrerequisiteGroup, } from "./prerequisiteGroups.js";
|
|
13
|
-
const printPrerequisiteGroup = (
|
|
14
|
-
value: translateMap(group.translations)?.text ?? MISSING_VALUE,
|
|
15
|
+
const printPrerequisiteGroup = (group) => Reader.asks(env => ({
|
|
16
|
+
value: env.translateMap(group.translations)?.text ?? MISSING_VALUE,
|
|
15
17
|
sentenceType: undefined,
|
|
16
18
|
isMeta: false,
|
|
17
|
-
});
|
|
18
|
-
const printPrerequisitesDisjunction = (getPrerequisiteTranslation,
|
|
19
|
+
}));
|
|
20
|
+
const printPrerequisitesDisjunction = (getPrerequisiteTranslation, disjunction) => {
|
|
19
21
|
if (disjunction.display_option !== undefined) {
|
|
20
|
-
return printDisplayOption(
|
|
22
|
+
return printDisplayOption(disjunction.display_option);
|
|
21
23
|
}
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
? renderActivatableNameComponentsCombinedIfPossible(
|
|
34
|
-
:
|
|
24
|
+
const disjunctionList = disjunction.list;
|
|
25
|
+
return Reader.traverse(disjunctionList, getPrerequisiteTranslation)
|
|
26
|
+
.map(list => list.filter(isNotNullish))
|
|
27
|
+
.thenW(([first, ...other]) => {
|
|
28
|
+
if (first === undefined) {
|
|
29
|
+
return Reader.of(undefined);
|
|
30
|
+
}
|
|
31
|
+
if (disjunctionList.length < 2 ||
|
|
32
|
+
(isNotEmpty(disjunctionList) &&
|
|
33
|
+
disjunctionList.slice(1).every(part => part.kind === disjunctionList[0].kind))) {
|
|
34
|
+
return (hasPartValueObject(first) && other.every(hasPartValueObject)
|
|
35
|
+
? Reader.asks((env) => renderActivatableNameComponentsCombinedIfPossible(env.translate, env.translateMap, [first.value, ...other.map(part => part.value)], true, list => env.localeJoin(list.toSorted(env.localeCompare), "disjunction")))
|
|
36
|
+
: Reader.traverse([first, ...other], part => Reader.asks((env) => typeof part.value === "string"
|
|
35
37
|
? part.value
|
|
36
|
-
: renderActivatableNameComponents(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
: renderActivatableNameComponents(env.translateMap, part.value, true))).thenW(list => localeJoinR(list, "disjunction"))).map(value => ({
|
|
39
|
+
label: first.label,
|
|
40
|
+
value,
|
|
41
|
+
sentenceType: undefined,
|
|
42
|
+
isMeta: false,
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
return Reader.traverse([first, ...other], part => Reader.asks((env) => (part.label ?? "") +
|
|
43
46
|
(typeof part.value === "string"
|
|
44
47
|
? part.value
|
|
45
|
-
: renderActivatableNameComponents(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
: renderActivatableNameComponents(env.translateMap, part.value, true))))
|
|
49
|
+
.thenW(list => localeJoinR(list, "disjunction"))
|
|
50
|
+
.map(value => ({
|
|
51
|
+
value,
|
|
52
|
+
sentenceType: undefined,
|
|
53
|
+
isMeta: false,
|
|
54
|
+
}));
|
|
55
|
+
});
|
|
49
56
|
};
|
|
50
57
|
/**
|
|
51
58
|
* Print prerequisites element as a string.
|
|
52
59
|
*/
|
|
53
|
-
const printPrerequisitesElement = (printPrerequisite,
|
|
60
|
+
const printPrerequisitesElement = (printPrerequisite, element) => {
|
|
54
61
|
switch (element.kind) {
|
|
55
62
|
case "Single":
|
|
56
63
|
return printPrerequisite(element.Single);
|
|
57
64
|
case "Disjunction":
|
|
58
|
-
return printPrerequisitesDisjunction(printPrerequisite,
|
|
65
|
+
return printPrerequisitesDisjunction(printPrerequisite, element.Disjunction);
|
|
59
66
|
case "Group":
|
|
60
|
-
return printPrerequisiteGroup(
|
|
67
|
+
return printPrerequisiteGroup(element.Group);
|
|
61
68
|
default:
|
|
62
69
|
return assertExhaustive(element);
|
|
63
70
|
}
|
|
@@ -65,20 +72,18 @@ const printPrerequisitesElement = (printPrerequisite, locale, element) => {
|
|
|
65
72
|
/**
|
|
66
73
|
* Print plain prerequisites as a string.
|
|
67
74
|
*/
|
|
68
|
-
const printPlainPrerequisites = (printPrerequisite,
|
|
69
|
-
.map(element => mapNullable(printPrerequisitesElement(printPrerequisite, locale, element), part => ({
|
|
75
|
+
const printPlainPrerequisites = (printPrerequisite, prerequisites) => Reader.traverse(prerequisites, element => printPrerequisitesElement(printPrerequisite, element).map(nullablePart => mapNullable(nullablePart, part => ({
|
|
70
76
|
type: element.kind === "Single" ? element.Single.kind : element.kind,
|
|
71
77
|
part,
|
|
72
|
-
})))
|
|
73
|
-
.filter(isNotNullish));
|
|
78
|
+
})))).thenW(list => joinPrerequisiteParts(list.filter(isNotNullish)));
|
|
74
79
|
/**
|
|
75
80
|
* Print prerequisite for level as a string.
|
|
76
81
|
*/
|
|
77
|
-
const printPrerequisiteForLevel = (printPrerequisite,
|
|
82
|
+
const printPrerequisiteForLevel = (printPrerequisite, value) => printPrerequisitesElement(printPrerequisite, value.prerequisite);
|
|
78
83
|
/**
|
|
79
84
|
* Print prerequisites for levels as a string.
|
|
80
85
|
*/
|
|
81
|
-
const printPrerequisitesForLevels = (printPrerequisite,
|
|
86
|
+
const printPrerequisitesForLevels = (printPrerequisite, value, printPreviousLevelPrerequisites, trailingText) => {
|
|
82
87
|
const previousLevelPrerequisites = printPreviousLevelPrerequisites === undefined
|
|
83
88
|
? []
|
|
84
89
|
: Array.from({ length: printPreviousLevelPrerequisites.levels - 1 }, (_, i) => ({
|
|
@@ -102,21 +107,19 @@ const printPrerequisitesForLevels = (printPrerequisite, locale, value, printPrev
|
|
|
102
107
|
...(hasBasePrerequisites
|
|
103
108
|
? []
|
|
104
109
|
: [
|
|
105
|
-
|
|
110
|
+
translateR("Level {$level}", {
|
|
106
111
|
level: romanize(1),
|
|
107
|
-
})
|
|
112
|
+
}).then(levelLabel => translateR("none").map(levelValue => `${levelLabel}: ${levelValue}`)),
|
|
108
113
|
]),
|
|
109
114
|
...sortedByLevel.map(([levelNumber, prerequisites]) => {
|
|
110
|
-
const prerequisitesString =
|
|
111
|
-
|
|
112
|
-
.map(element => mapNullable(printPrerequisiteForLevel(printPrerequisite, locale, element), part => ({
|
|
115
|
+
const prerequisitesString = Reader.sequence([
|
|
116
|
+
Reader.traverse(prerequisites, element => printPrerequisiteForLevel(printPrerequisite, element).map(nullablePart => mapNullable(nullablePart, part => ({
|
|
113
117
|
type: element.prerequisite.kind === "Single"
|
|
114
118
|
? element.prerequisite.Single.kind
|
|
115
119
|
: element.prerequisite.kind,
|
|
116
120
|
part,
|
|
117
|
-
})))
|
|
118
|
-
|
|
119
|
-
...(levelNumber === 1 && trailingText !== undefined
|
|
121
|
+
})))).map(list => list.filter(isNotNullish)),
|
|
122
|
+
Reader.of(levelNumber === 1 && trailingText !== undefined
|
|
120
123
|
? [
|
|
121
124
|
{
|
|
122
125
|
type: "trailing",
|
|
@@ -124,32 +127,32 @@ const printPrerequisitesForLevels = (printPrerequisite, locale, value, printPrev
|
|
|
124
127
|
},
|
|
125
128
|
]
|
|
126
129
|
: []),
|
|
127
|
-
]);
|
|
130
|
+
]).then(list => joinPrerequisiteParts(list.flat()));
|
|
128
131
|
return hasOnlyBasePrerequisites
|
|
129
132
|
? prerequisitesString
|
|
130
|
-
:
|
|
133
|
+
: prerequisitesString.then(string => translateR("Level {$level}", {
|
|
131
134
|
level: romanize(levelNumber),
|
|
132
|
-
})}: ${
|
|
135
|
+
}).map(levelLabel => `${levelLabel}: ${string}`));
|
|
133
136
|
}),
|
|
134
137
|
];
|
|
135
|
-
return printedParts.join("; ");
|
|
138
|
+
return Reader.sequence(printedParts).map(parts => parts.join("; "));
|
|
136
139
|
};
|
|
137
140
|
/**
|
|
138
141
|
* Print derived characteristic prerequisites as a string.
|
|
139
142
|
*/
|
|
140
|
-
export const printDerivedCharacteristicPrerequisites = (
|
|
143
|
+
export const printDerivedCharacteristicPrerequisites = (value) => printPlainPrerequisites(printDerivedCharacteristicPrerequisiteGroup, value);
|
|
141
144
|
/**
|
|
142
145
|
* Print publication prerequisites as a string.
|
|
143
146
|
*/
|
|
144
|
-
export const printPublicationPrerequisites = (
|
|
147
|
+
export const printPublicationPrerequisites = (value) => printPlainPrerequisites(printPublicationPrerequisiteGroup, value);
|
|
145
148
|
/**
|
|
146
149
|
* Print plain general prerequisites as a string.
|
|
147
150
|
*/
|
|
148
|
-
export const printPlainGeneralPrerequisites = (
|
|
151
|
+
export const printPlainGeneralPrerequisites = (value) => printPlainPrerequisites(printGeneralPrerequisiteGroup, value);
|
|
149
152
|
/**
|
|
150
153
|
* Print general prerequisites as a string.
|
|
151
154
|
*/
|
|
152
|
-
export const printGeneralPrerequisites = (
|
|
155
|
+
export const printGeneralPrerequisites = (value, printPreviousLevelPrerequisites, trailingText) => printPrerequisitesForLevels(printGeneralPrerequisiteGroup, value, printPreviousLevelPrerequisites === undefined
|
|
153
156
|
? undefined
|
|
154
157
|
: {
|
|
155
158
|
levels: printPreviousLevelPrerequisites.levels,
|
|
@@ -165,44 +168,44 @@ export const printGeneralPrerequisites = (getInstanceById, getResolvedSelectOpti
|
|
|
165
168
|
/**
|
|
166
169
|
* Print profession prerequisites as a string.
|
|
167
170
|
*/
|
|
168
|
-
export const printProfessionPrerequisites = (
|
|
171
|
+
export const printProfessionPrerequisites = (value) => printPlainPrerequisites(printProfessionPrerequisiteGroup, value);
|
|
169
172
|
/**
|
|
170
173
|
* Print advantage disadvantage prerequisites as a string.
|
|
171
174
|
*/
|
|
172
|
-
export const printAdvantageDisadvantagePrerequisites = (
|
|
175
|
+
export const printAdvantageDisadvantagePrerequisites = (value, name, type) => printPrerequisitesForLevels(prerequisite => printAdvantageDisadvantagePrerequisiteGroup(prerequisite, name, type), value);
|
|
173
176
|
/**
|
|
174
177
|
* Print arcane tradition prerequisites as a string.
|
|
175
178
|
*/
|
|
176
|
-
export const printArcaneTraditionPrerequisites = (
|
|
179
|
+
export const printArcaneTraditionPrerequisites = (value) => printPlainPrerequisites(printArcaneTraditionPrerequisiteGroup, value);
|
|
177
180
|
/**
|
|
178
181
|
* Print personality trait prerequisites as a string.
|
|
179
182
|
*/
|
|
180
|
-
export const printPersonalityTraitPrerequisites = (
|
|
183
|
+
export const printPersonalityTraitPrerequisites = (value) => printPlainPrerequisites(printPersonalityTraitPrerequisiteGroup, value);
|
|
181
184
|
/**
|
|
182
185
|
* Print spellwork prerequisites as a string.
|
|
183
186
|
*/
|
|
184
|
-
export const printSpellworkPrerequisites = (
|
|
187
|
+
export const printSpellworkPrerequisites = (value) => printPlainPrerequisites(printSpellworkPrerequisiteGroup, value);
|
|
185
188
|
/**
|
|
186
189
|
* Print liturgy prerequisites as a string.
|
|
187
190
|
*/
|
|
188
|
-
export const printLiturgyPrerequisites = (
|
|
191
|
+
export const printLiturgyPrerequisites = (value) => printPlainPrerequisites(printLiturgyPrerequisiteGroup, value);
|
|
189
192
|
/**
|
|
190
193
|
* Print influence prerequisites as a string.
|
|
191
194
|
*/
|
|
192
|
-
export const printInfluencePrerequisites = (
|
|
195
|
+
export const printInfluencePrerequisites = (value) => printPlainPrerequisites(printInfluencePrerequisiteGroup, value);
|
|
193
196
|
/**
|
|
194
197
|
* Print language prerequisites as a string.
|
|
195
198
|
*/
|
|
196
|
-
export const printLanguagePrerequisites = (
|
|
199
|
+
export const printLanguagePrerequisites = (value) => printPrerequisitesForLevels(printLanguagePrerequisiteGroup, value);
|
|
197
200
|
/**
|
|
198
201
|
* Print animist power prerequisites as a string.
|
|
199
202
|
*/
|
|
200
|
-
export const printAnimistPowerPrerequisites = (
|
|
203
|
+
export const printAnimistPowerPrerequisites = (value) => printPlainPrerequisites(printAnimistPowerPrerequisiteGroup, value);
|
|
201
204
|
/**
|
|
202
205
|
* Print geode ritual prerequisites as a string.
|
|
203
206
|
*/
|
|
204
|
-
export const printGeodeRitualPrerequisites = (
|
|
207
|
+
export const printGeodeRitualPrerequisites = (value) => printPlainPrerequisites(printGeodeRitualPrerequisiteGroup, value);
|
|
205
208
|
/**
|
|
206
209
|
* Print enhancement prerequisites as a string.
|
|
207
210
|
*/
|
|
208
|
-
export const printEnhancementPrerequisites = (
|
|
211
|
+
export const printEnhancementPrerequisites = (value) => printPlainPrerequisites(printEnhancementPrerequisiteGroup, value);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { SentenceType } from "@optolith/database-schema/gen";
|
|
2
|
-
import type {
|
|
3
|
-
import type { Translate, TranslateMap } from "../../../helpers/translate.js";
|
|
2
|
+
import type { StdReader } from "../../../env.js";
|
|
4
3
|
import { type ActivatableNameComponents } from "../activatableNameChunks.js";
|
|
5
4
|
/**
|
|
6
5
|
* A part of the total list of prerequisites.
|
|
@@ -20,7 +19,7 @@ export declare const hasPartValueObject: (part: PrerequisitePart) => part is Pre
|
|
|
20
19
|
/**
|
|
21
20
|
* Join prerequisite parts using their configuration.
|
|
22
21
|
*/
|
|
23
|
-
export declare const joinPrerequisiteParts: (
|
|
22
|
+
export declare const joinPrerequisiteParts: (parts: {
|
|
24
23
|
type: string;
|
|
25
24
|
part: PrerequisitePart;
|
|
26
|
-
}[]) => string
|
|
25
|
+
}[]) => StdReader<string, "t" | "tm" | "lc">;
|
|
@@ -2,10 +2,12 @@ import { groupBy } from "@elyukai/utils/array/groups";
|
|
|
2
2
|
import { deepEqual, equal } from "@elyukai/utils/equality";
|
|
3
3
|
import { on } from "@elyukai/utils/function";
|
|
4
4
|
import { compareNumber, reduceCompare } from "@elyukai/utils/ordering";
|
|
5
|
+
import { Reader } from "@elyukai/utils/reader";
|
|
5
6
|
import { assertExhaustive } from "@optolith/helpers/typeSafety";
|
|
6
7
|
import { fromUniformCase } from "tsondb/schema/gen";
|
|
7
8
|
import { renderActivatableNameComponents, renderActivatableNameComponentsCombinedIfPossible, } from "../activatableNameChunks.js";
|
|
8
9
|
import { attributedInstance } from "../markdown.js";
|
|
10
|
+
import { translateR } from "../reader.js";
|
|
9
11
|
/**
|
|
10
12
|
* Type guard for prerequisite parts with a value object.
|
|
11
13
|
*/
|
|
@@ -20,11 +22,11 @@ const countFurtherToCombined = (part, remainingParts) => {
|
|
|
20
22
|
: indexHasDifferentBaseValues;
|
|
21
23
|
};
|
|
22
24
|
const wrapActivatableInAttributedString = (text, id) => attributedInstance(text, id.kind, fromUniformCase(id), { context: '"prerequisite"' });
|
|
23
|
-
const joinAdjacentParts = (translateMap, localeCompare, part, remainingParts) => {
|
|
25
|
+
const joinAdjacentParts = (translate, translateMap, localeCompare, part, remainingParts) => {
|
|
24
26
|
const valuesWithSameBase = remainingParts.slice(0, countFurtherToCombined(part, remainingParts));
|
|
25
27
|
if (valuesWithSameBase.length > 0) {
|
|
26
28
|
return [
|
|
27
|
-
|
|
29
|
+
renderActivatableNameComponentsCombinedIfPossible(translate, translateMap, [part.value, ...valuesWithSameBase.map(p => p.value)], true, list => list.toSorted(localeCompare).join(", ")),
|
|
28
30
|
valuesWithSameBase.length,
|
|
29
31
|
];
|
|
30
32
|
}
|
|
@@ -53,18 +55,18 @@ const activatableKindToGroup = (kind) => kind === "Advantage" ? "Advantage" : ki
|
|
|
53
55
|
const activatableGroupOrder = ["Advantage", "Disadvantage", "SpecialAbility"];
|
|
54
56
|
const sortByActivatableGroup = on(group => activatableGroupOrder.indexOf(group), compareNumber);
|
|
55
57
|
const sortByActivatableGroupAndName = (localeCompare) => reduceCompare(on(item => item[0], sortByActivatableGroup), on(item => item[1], localeCompare));
|
|
56
|
-
const appendPrerequisitePartGroup = (previous,
|
|
58
|
+
const appendPrerequisitePartGroup = (previous, parts, isLast) => {
|
|
57
59
|
if (parts.length === 0) {
|
|
58
|
-
return previous;
|
|
60
|
+
return Reader.of(previous);
|
|
59
61
|
}
|
|
60
62
|
else if (parts.every(hasPartValueObject)) {
|
|
61
|
-
return appendBySentenceType(previous, parts
|
|
63
|
+
return Reader.asks(({ translate, translateMap, localeCompare }) => appendBySentenceType(previous, parts
|
|
62
64
|
.toSorted(on(part => fromUniformCase(part.value.id), localeCompare))
|
|
63
65
|
.reduce((acc, current, i, arr) => {
|
|
64
66
|
if (acc[1] > 0) {
|
|
65
67
|
return [acc[0], acc[1] - 1];
|
|
66
68
|
}
|
|
67
|
-
const [rendered, furtherIncluded] = joinAdjacentParts(translateMap, localeCompare, current, arr.slice(i + 1));
|
|
69
|
+
const [rendered, furtherIncluded] = joinAdjacentParts(translate, translateMap, localeCompare, current, arr.slice(i + 1));
|
|
68
70
|
return [
|
|
69
71
|
[
|
|
70
72
|
...acc[0],
|
|
@@ -75,21 +77,21 @@ const appendPrerequisitePartGroup = (previous, translateMap, localeCompare, part
|
|
|
75
77
|
}, [[], 0])[0]
|
|
76
78
|
.toSorted(sortByActivatableGroupAndName(localeCompare))
|
|
77
79
|
.map(grouped => grouped[1])
|
|
78
|
-
.join(", "), undefined, isLast);
|
|
80
|
+
.join(", "), undefined, isLast));
|
|
79
81
|
}
|
|
80
82
|
else {
|
|
81
|
-
return parts.reduce((acc, current, i, arr) => appendBySentenceType(acc, (current.label ?? "") +
|
|
83
|
+
return Reader.asks(({ translateMap }) => parts.reduce((acc, current, i, arr) => appendBySentenceType(acc, (current.label ?? "") +
|
|
82
84
|
(typeof current.value === "string"
|
|
83
85
|
? current.value
|
|
84
|
-
: wrapActivatableInAttributedString(renderActivatableNameComponents(translateMap, current.value, true), current.value.id)), current.sentenceType, isLast && i === arr.length - 1), previous);
|
|
86
|
+
: wrapActivatableInAttributedString(renderActivatableNameComponents(translateMap, current.value, true), current.value.id)), current.sentenceType, isLast && i === arr.length - 1), previous));
|
|
85
87
|
}
|
|
86
88
|
};
|
|
87
89
|
/**
|
|
88
90
|
* Join prerequisite parts using their configuration.
|
|
89
91
|
*/
|
|
90
|
-
export const joinPrerequisiteParts = (
|
|
92
|
+
export const joinPrerequisiteParts = (parts) => groupBy(parts, on(part => part.type, equal))
|
|
91
93
|
.map(group => ({
|
|
92
94
|
type: group[0].type,
|
|
93
95
|
parts: group.map(groupItem => groupItem.part),
|
|
94
96
|
}))
|
|
95
|
-
.reduce((
|
|
97
|
+
.reduce((accR, partGroup, i, arr) => accR.thenW(acc => appendPrerequisitePartGroup(acc, partGroup.parts, i === arr.length - 1)), parts.every(({ part }) => part.isMeta) ? translateR("none") : Reader.of(""));
|
|
@@ -1,65 +1,63 @@
|
|
|
1
1
|
import type { ActivatableIdentifier, AdvantageDisadvantagePrerequisiteGroup, AnimistPowerPrerequisiteGroup, ArcaneTraditionPrerequisiteGroup, DerivedCharacteristicPrerequisiteGroup, EnhancementPrerequisiteGroup, GeneralPrerequisiteGroup, GeodeRitualPrerequisiteGroup, InfluencePrerequisiteGroup, LanguagePrerequisiteGroup, LiturgyPrerequisiteGroup, PersonalityTraitPrerequisiteGroup, PreconditionGroup, ProfessionPrerequisiteGroup, PublicationPrerequisiteGroup, RatedIdentifier, SpellworkPrerequisiteGroup } from "@optolith/database-schema/gen";
|
|
2
|
-
import type {
|
|
3
|
-
import type { LocaleEnvironment } from "../../../helpers/locale.js";
|
|
2
|
+
import type { StdReader } from "../../../env.js";
|
|
4
3
|
import type { PrerequisitePart } from "./part.js";
|
|
5
|
-
import { type GetResolvedSelectOptionById } from "./single/activatable.js";
|
|
6
4
|
/**
|
|
7
5
|
* Print the translation of a derived characteristic prerequisite group.
|
|
8
6
|
*/
|
|
9
|
-
export declare const printDerivedCharacteristicPrerequisiteGroup: (
|
|
7
|
+
export declare const printDerivedCharacteristicPrerequisiteGroup: (prerequisite: DerivedCharacteristicPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm">;
|
|
10
8
|
/**
|
|
11
9
|
* Print the translation of a publication prerequisite group.
|
|
12
10
|
*/
|
|
13
|
-
export declare const printPublicationPrerequisiteGroup: (
|
|
11
|
+
export declare const printPublicationPrerequisiteGroup: (prerequisite: PublicationPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Publication">;
|
|
14
12
|
/**
|
|
15
13
|
* Print the translation of a general prerequisite group.
|
|
16
14
|
*/
|
|
17
|
-
export declare const printGeneralPrerequisiteGroup: (
|
|
15
|
+
export declare const printGeneralPrerequisiteGroup: (prerequisite: GeneralPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "lj" | "lc" | "rso" | "ibi", "Race" | "Culture" | "PactCategory" | "PactDomain" | "SocialStatus" | "State" | ActivatableIdentifier["kind"] | RatedIdentifier["kind"] | "Property" | "Aspect" | "Enhancement" | "PersonalityTrait" | "Blessing" | "Cantrip">;
|
|
18
16
|
/**
|
|
19
17
|
* Print the translation of a profession prerequisite group.
|
|
20
18
|
*/
|
|
21
|
-
export declare const printProfessionPrerequisiteGroup: (
|
|
19
|
+
export declare const printProfessionPrerequisiteGroup: (prerequisite: ProfessionPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "rso" | "ibi", "Race" | "Culture" | ActivatableIdentifier["kind"] | RatedIdentifier["kind"] | "Aspect">;
|
|
22
20
|
/**
|
|
23
21
|
* Print the translation of an advantage/disadvantage prerequisite group.
|
|
24
22
|
*/
|
|
25
|
-
export declare const printAdvantageDisadvantagePrerequisiteGroup: (
|
|
23
|
+
export declare const printAdvantageDisadvantagePrerequisiteGroup: (prerequisite: AdvantageDisadvantagePrerequisiteGroup, name: string, type: "Advantage" | "Disadvantage") => StdReader<PrerequisitePart | undefined, "t" | "tm" | "lj" | "lc" | "rso" | "ibi", "Race" | "Culture" | "PactCategory" | "PactDomain" | "SocialStatus" | "State" | ActivatableIdentifier["kind"] | RatedIdentifier["kind"] | "Property" | "Aspect" | "Enhancement" | "PersonalityTrait" | "Blessing" | "Cantrip">;
|
|
26
24
|
/**
|
|
27
25
|
* Print the translation of an arcane tradition prerequisite group.
|
|
28
26
|
*/
|
|
29
|
-
export declare const printArcaneTraditionPrerequisiteGroup: (
|
|
27
|
+
export declare const printArcaneTraditionPrerequisiteGroup: (prerequisite: ArcaneTraditionPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Culture">;
|
|
30
28
|
/**
|
|
31
29
|
* Print the translation of a personality trait prerequisite group.
|
|
32
30
|
*/
|
|
33
|
-
export declare const printPersonalityTraitPrerequisiteGroup: (
|
|
31
|
+
export declare const printPersonalityTraitPrerequisiteGroup: (prerequisite: PersonalityTraitPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Race" | "Culture" | "PersonalityTrait">;
|
|
34
32
|
/**
|
|
35
33
|
* Print the translation of a spellwork prerequisite group.
|
|
36
34
|
*/
|
|
37
|
-
export declare const printSpellworkPrerequisiteGroup: (
|
|
35
|
+
export declare const printSpellworkPrerequisiteGroup: (prerequisite: SpellworkPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", RatedIdentifier["kind"]>;
|
|
38
36
|
/**
|
|
39
37
|
* Print the translation of a liturgy prerequisite group.
|
|
40
38
|
*/
|
|
41
|
-
export declare const printLiturgyPrerequisiteGroup: (
|
|
39
|
+
export declare const printLiturgyPrerequisiteGroup: (prerequisite: LiturgyPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, never>;
|
|
42
40
|
/**
|
|
43
41
|
* Print the translation of an influence prerequisite group.
|
|
44
42
|
*/
|
|
45
|
-
export declare const printInfluencePrerequisiteGroup: (
|
|
43
|
+
export declare const printInfluencePrerequisiteGroup: (prerequisite: InfluencePrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "rso" | "ibi" | "acibp", "Influence" | "Race" | ActivatableIdentifier["kind"] | "Aspect", never, "ProfessionVersion">;
|
|
46
44
|
/**
|
|
47
45
|
* Print the translation of a language prerequisite group.
|
|
48
46
|
*/
|
|
49
|
-
export declare const printLanguagePrerequisiteGroup: (
|
|
47
|
+
export declare const printLanguagePrerequisiteGroup: (prerequisite: LanguagePrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "rso" | "ibi", "Race" | ActivatableIdentifier["kind"] | "Aspect">;
|
|
50
48
|
/**
|
|
51
49
|
* Print the translation of an animist power prerequisite group.
|
|
52
50
|
*/
|
|
53
|
-
export declare const printAnimistPowerPrerequisiteGroup: (
|
|
51
|
+
export declare const printAnimistPowerPrerequisiteGroup: (prerequisite: AnimistPowerPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "tm" | "ibi", "AnimistPower">;
|
|
54
52
|
/**
|
|
55
53
|
* Print the translation of a geode ritual prerequisite group.
|
|
56
54
|
*/
|
|
57
|
-
export declare const printGeodeRitualPrerequisiteGroup: (
|
|
55
|
+
export declare const printGeodeRitualPrerequisiteGroup: (prerequisite: GeodeRitualPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "rso" | "ibi", ActivatableIdentifier["kind"] | "Aspect" | "Influence">;
|
|
58
56
|
/**
|
|
59
57
|
* Print the translation of an enhancement prerequisite group.
|
|
60
58
|
*/
|
|
61
|
-
export declare const printEnhancementPrerequisiteGroup: (
|
|
59
|
+
export declare const printEnhancementPrerequisiteGroup: (prerequisite: EnhancementPrerequisiteGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", RatedIdentifier["kind"] | "Enhancement">;
|
|
62
60
|
/**
|
|
63
61
|
* Print the translation of a precondition group.
|
|
64
62
|
*/
|
|
65
|
-
export declare const printPreconditionGroup: (
|
|
63
|
+
export declare const printPreconditionGroup: (prerequisite: PreconditionGroup) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Publication">;
|