@optolith/database-schema 0.44.1 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/gen/types.d.ts +679 -240
- package/lib/main.js +3 -0
- package/lib/types/Advantage.js +2 -1
- package/lib/types/AnimalDisease.d.ts +1 -0
- package/lib/types/Culture.js +1 -0
- package/lib/types/Disadvantage.js +2 -1
- package/lib/types/Disease.d.ts +1 -0
- package/lib/types/Locale.d.ts +1 -0
- package/lib/types/Locale.js +1 -0
- package/lib/types/_ActivatableNames.d.ts +14 -0
- package/lib/types/_ActivatableNames.js +12 -0
- package/lib/types/_AlternativeNames.d.ts +1 -0
- package/lib/types/_AlternativeNames.js +5 -0
- package/lib/types/_DiseasePoison.d.ts +1 -0
- package/lib/types/_Identifier.d.ts +3 -0
- package/lib/types/_Identifier.js +6 -0
- package/lib/types/_ResponsiveText.d.ts +17 -0
- package/lib/types/_ResponsiveText.js +17 -0
- package/lib/types/equipment/item/Elixir.d.ts +1 -0
- package/lib/types/equipment/item/HerbalAid.d.ts +64 -0
- package/lib/types/equipment/item/HerbalAid.js +56 -0
- package/lib/types/equipment/item/Plant.d.ts +183 -0
- package/lib/types/equipment/item/Plant.js +222 -0
- package/lib/types/equipment/item/Poison.d.ts +1 -0
- package/lib/types/equipment/item/_Herbary.d.ts +7 -0
- package/lib/types/equipment/item/_Herbary.js +11 -0
- package/lib/types/equipment/item/sub/Biome.d.ts +6 -0
- package/lib/types/equipment/item/sub/Biome.js +21 -0
- package/lib/types/index.d.ts +4 -1
- package/lib/types/index.js +3 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AncestorGlyph.js +2 -1
- package/lib/types/specialAbility/BlessedTradition.js +2 -0
- package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
- package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
- package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
- package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
- package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
- package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/LycantropicGift.js +2 -1
- package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/MagicalSign.js +2 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
- package/lib/types/specialAbility/MagicalTradition.js +2 -1
- package/lib/types/specialAbility/PactGift.js +2 -1
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/Sermon.js +2 -1
- package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
- package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/VampiricGift.js +2 -1
- package/lib/types/specialAbility/Vision.js +2 -1
- package/lib/types/specialAbility/sub/Language.d.ts +2 -1
- package/lib/types/specialAbility/sub/Language.js +1 -1
- package/lib/types/specialAbility/sub/Script.d.ts +1 -0
- package/package.json +1 -1
package/lib/main.js
CHANGED
|
@@ -28,6 +28,7 @@ export const schema = new Schema([
|
|
|
28
28
|
Types.BandageOrRemedy,
|
|
29
29
|
Types.Bannzeichen,
|
|
30
30
|
Types.Beutelzauber,
|
|
31
|
+
Types.Biome,
|
|
31
32
|
Types.BlessedTradition,
|
|
32
33
|
Types.Blessing,
|
|
33
34
|
Types.Book,
|
|
@@ -78,6 +79,7 @@ export const schema = new Schema([
|
|
|
78
79
|
Types.Guideline,
|
|
79
80
|
Types.HairColor,
|
|
80
81
|
Types.Haubenzauber,
|
|
82
|
+
Types.HerbalAid,
|
|
81
83
|
Types.HomunculusType,
|
|
82
84
|
Types.IlluminationLightSource,
|
|
83
85
|
Types.IlluminationRefillOrSupply,
|
|
@@ -114,6 +116,7 @@ export const schema = new Schema([
|
|
|
114
116
|
Types.PatronCategory,
|
|
115
117
|
Types.PersonalityTrait,
|
|
116
118
|
Types.PlayerType,
|
|
119
|
+
Types.Plant,
|
|
117
120
|
Types.Poison,
|
|
118
121
|
Types.Profession,
|
|
119
122
|
Types.Property,
|
package/lib/types/Advantage.js
CHANGED
|
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
|
|
|
2
2
|
import { input, levels, maximum, name, name_in_library, range_l10n, rules } from "./_Activatable.js";
|
|
3
3
|
import { ap_value, ap_value_append, ap_value_l10n } from "./_ActivatableAdventurePointsValue.js";
|
|
4
4
|
import { automatic_entries } from "./_ActivatableAutomatic.js";
|
|
5
|
-
import { nameBuilderRules } from "./_ActivatableNames.js";
|
|
5
|
+
import { activatableDisplayNameCustomizer, nameBuilderRules } from "./_ActivatableNames.js";
|
|
6
6
|
import { explicit_select_options, select_options } from "./_ActivatableSelectOptions.js";
|
|
7
7
|
import { skill_applications, skill_uses } from "./_ActivatableSkillApplicationsAndUses.js";
|
|
8
8
|
import { AdvantageDisadvantagePrerequisites } from "./_Prerequisite.js";
|
|
@@ -48,6 +48,7 @@ export const Advantage = DB.Entity(import.meta.url, {
|
|
|
48
48
|
})),
|
|
49
49
|
}),
|
|
50
50
|
instanceDisplayName: {},
|
|
51
|
+
instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
|
|
51
52
|
uniqueConstraints: [
|
|
52
53
|
{
|
|
53
54
|
entityMapKeyPath: "translations",
|
|
@@ -69,6 +69,7 @@ export declare const AnimalDisease: DB.Entity<"AnimalDisease", {
|
|
|
69
69
|
alternative_names: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"AlternativeName", DB.Object<{
|
|
70
70
|
name: DB.MemberDecl<DB.String, true>;
|
|
71
71
|
region: DB.MemberDecl<DB.String, false>;
|
|
72
|
+
language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
72
73
|
}>, []>>>, false>;
|
|
73
74
|
progress: DB.MemberDecl<DB.String, true>;
|
|
74
75
|
incubation_time: DB.MemberDecl<DB.String, true>;
|
package/lib/types/Culture.js
CHANGED
|
@@ -247,6 +247,7 @@ const BlessedCommonProfessionConstraint = DB.Enum(import.meta.url, {
|
|
|
247
247
|
name: "BlessedCommonProfessionConstraint",
|
|
248
248
|
values: () => ({
|
|
249
249
|
Tradition: DB.EnumCase({ type: DB.IncludeIdentifier(BlessedTraditionConstraint) }),
|
|
250
|
+
Profession: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionConstraint) }),
|
|
250
251
|
}),
|
|
251
252
|
});
|
|
252
253
|
const PlainCommonProfessions = DB.TypeAlias(import.meta.url, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
2
|
import { input, levels, maximum, name, name_in_library, rules } from "./_Activatable.js";
|
|
3
3
|
import { ap_value, ap_value_append, ap_value_l10n } from "./_ActivatableAdventurePointsValue.js";
|
|
4
|
-
import { nameBuilderRules } from "./_ActivatableNames.js";
|
|
4
|
+
import { activatableDisplayNameCustomizer, nameBuilderRules } from "./_ActivatableNames.js";
|
|
5
5
|
import { explicit_select_options, select_options } from "./_ActivatableSelectOptions.js";
|
|
6
6
|
import { skill_applications, skill_uses } from "./_ActivatableSkillApplicationsAndUses.js";
|
|
7
7
|
import { AdvantageDisadvantagePrerequisites } from "./_Prerequisite.js";
|
|
@@ -49,6 +49,7 @@ export const Disadvantage = DB.Entity(import.meta.url, {
|
|
|
49
49
|
})),
|
|
50
50
|
}),
|
|
51
51
|
instanceDisplayName: {},
|
|
52
|
+
instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
|
|
52
53
|
uniqueConstraints: [
|
|
53
54
|
{
|
|
54
55
|
entityMapKeyPath: "translations",
|
package/lib/types/Disease.d.ts
CHANGED
|
@@ -89,6 +89,7 @@ export declare const Disease: DB.Entity<"Disease", {
|
|
|
89
89
|
alternative_names: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"AlternativeName", DB.Object<{
|
|
90
90
|
name: DB.MemberDecl<DB.String, true>;
|
|
91
91
|
region: DB.MemberDecl<DB.String, false>;
|
|
92
|
+
language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
92
93
|
}>, []>>>, false>;
|
|
93
94
|
progress: DB.MemberDecl<DB.String, true>;
|
|
94
95
|
incubation_time: DB.MemberDecl<DB.String, true>;
|
package/lib/types/Locale.d.ts
CHANGED
|
@@ -1590,6 +1590,7 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
1590
1590
|
"no Liturgies totaling {$apValue} AP": null;
|
|
1591
1591
|
"{$apValue} AP to improve other {$skillsOfGroup}": null;
|
|
1592
1592
|
"{$apValue} AP to distribute among the following skills: {$list}": null;
|
|
1593
|
+
"maximum SR per skill: {$maxSR}": null;
|
|
1593
1594
|
"no AP to improve other {$skillsOfGroup}": null;
|
|
1594
1595
|
".input {$count :number} {{{$count} cantrips}}": null;
|
|
1595
1596
|
"{$count} from the following list": null;
|
package/lib/types/Locale.js
CHANGED
|
@@ -1640,6 +1640,7 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
1640
1640
|
"no Liturgies totaling {$apValue} AP": null,
|
|
1641
1641
|
"{$apValue} AP to improve other {$skillsOfGroup}": null,
|
|
1642
1642
|
"{$apValue} AP to distribute among the following skills: {$list}": null,
|
|
1643
|
+
"maximum SR per skill: {$maxSR}": null,
|
|
1643
1644
|
"no AP to improve other {$skillsOfGroup}": null,
|
|
1644
1645
|
".input {$count :number} {{{$count} cantrips}}": null,
|
|
1645
1646
|
"{$count} from the following list": null,
|
|
@@ -13,3 +13,17 @@ export declare const nameBuilderRules: DB.MemberDecl<DB.IncludeIdentifier<[], DB
|
|
|
13
13
|
}, []>>, false>;
|
|
14
14
|
useParenthesis: DB.MemberDecl<DB.Boolean, false>;
|
|
15
15
|
}>, []>>, false>;
|
|
16
|
+
export declare const activatableDisplayNameCustomizer: ({ instance, instanceDisplayName, instanceDisplayNameLocaleId, locales, }: {
|
|
17
|
+
instance: {
|
|
18
|
+
translations: Record<string, {
|
|
19
|
+
name: string;
|
|
20
|
+
name_in_library?: string;
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
23
|
+
instanceDisplayName: string;
|
|
24
|
+
instanceDisplayNameLocaleId: string | undefined;
|
|
25
|
+
locales: string[];
|
|
26
|
+
}) => {
|
|
27
|
+
name: string;
|
|
28
|
+
localeId: string | undefined;
|
|
29
|
+
};
|
|
@@ -24,3 +24,15 @@ const ActivatableNameLevelPlacement = DB.Enum(import.meta.url, {
|
|
|
24
24
|
AfterOptions: DB.EnumCase({ type: null }),
|
|
25
25
|
}),
|
|
26
26
|
});
|
|
27
|
+
export const activatableDisplayNameCustomizer = ({ instance, instanceDisplayName, instanceDisplayNameLocaleId, locales, }) => {
|
|
28
|
+
for (const locale of locales) {
|
|
29
|
+
const translation = instance.translations[locale];
|
|
30
|
+
if (translation) {
|
|
31
|
+
return {
|
|
32
|
+
name: translation.name_in_library ?? translation.name,
|
|
33
|
+
localeId: locale,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return { name: instanceDisplayName, localeId: instanceDisplayNameLocaleId };
|
|
38
|
+
};
|
|
@@ -2,4 +2,5 @@ import * as DB from "tsondb/schema/dsl";
|
|
|
2
2
|
export declare const AlternativeName: DB.TypeAlias<"AlternativeName", DB.Object<{
|
|
3
3
|
name: DB.MemberDecl<DB.String, true>;
|
|
4
4
|
region: DB.MemberDecl<DB.String, false>;
|
|
5
|
+
language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
5
6
|
}>, []>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { LanguageIdentifier } from "./_Identifier.js";
|
|
2
3
|
export const AlternativeName = DB.TypeAlias(import.meta.url, {
|
|
3
4
|
name: "AlternativeName",
|
|
4
5
|
type: () => DB.Object({
|
|
@@ -10,5 +11,9 @@ export const AlternativeName = DB.TypeAlias(import.meta.url, {
|
|
|
10
11
|
comment: "The region where this alternative name is used.",
|
|
11
12
|
type: DB.String({ minLength: 1 }),
|
|
12
13
|
}),
|
|
14
|
+
language: DB.Optional({
|
|
15
|
+
comment: "The language of that alternative name if any.",
|
|
16
|
+
type: LanguageIdentifier(),
|
|
17
|
+
}),
|
|
13
18
|
}),
|
|
14
19
|
});
|
|
@@ -38,6 +38,7 @@ export declare const DiseaseTranslation: DB.Object<{
|
|
|
38
38
|
alternative_names: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"AlternativeName", DB.Object<{
|
|
39
39
|
name: DB.MemberDecl<DB.String, true>;
|
|
40
40
|
region: DB.MemberDecl<DB.String, false>;
|
|
41
|
+
language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
41
42
|
}>, []>>>, false>;
|
|
42
43
|
progress: DB.MemberDecl<DB.String, true>;
|
|
43
44
|
incubation_time: DB.MemberDecl<DB.String, true>;
|
|
@@ -25,6 +25,7 @@ export declare const AttributeIdentifier: () => R;
|
|
|
25
25
|
export declare const BandageOrRemedyIdentifier: () => R;
|
|
26
26
|
export declare const BannzeichenIdentifier: () => R;
|
|
27
27
|
export declare const BeutelzauberIdentifier: () => R;
|
|
28
|
+
export declare const BiomeIdentifier: () => R;
|
|
28
29
|
export declare const BlessedTraditionIdentifier: () => R;
|
|
29
30
|
export declare const BlessingIdentifier: () => R;
|
|
30
31
|
export declare const BookIdentifier: () => R;
|
|
@@ -76,6 +77,7 @@ export declare const GoblinRitualIdentifier: () => R;
|
|
|
76
77
|
export declare const GuidelineIdentifier: () => R;
|
|
77
78
|
export declare const HairColorIdentifier: () => R;
|
|
78
79
|
export declare const HaubenzauberIdentifier: () => R;
|
|
80
|
+
export declare const HerbalAidIdentifier: () => R;
|
|
79
81
|
export declare const IlluminationLightSourceIdentifier: () => R;
|
|
80
82
|
export declare const IlluminationRefillOrSupplyIdentifier: () => R;
|
|
81
83
|
export declare const InfluenceIdentifier: () => R;
|
|
@@ -115,6 +117,7 @@ export declare const PactTypeIdentifier: () => R;
|
|
|
115
117
|
export declare const PatronCategoryIdentifier: () => R;
|
|
116
118
|
export declare const PatronIdentifier: () => R;
|
|
117
119
|
export declare const PersonalityTraitIdentifier: () => R;
|
|
120
|
+
export declare const PlantIdentifier: () => R;
|
|
118
121
|
export declare const PlayerTypeIdentifier: () => R;
|
|
119
122
|
export declare const PoisonIdentifier: () => R;
|
|
120
123
|
export declare const ProfessionIdentifier: () => R;
|
package/lib/types/_Identifier.js
CHANGED
|
@@ -32,6 +32,7 @@ import { Container } from "./equipment/item/Container.js";
|
|
|
32
32
|
import { Elixir } from "./equipment/item/Elixir.js";
|
|
33
33
|
import { EquipmentOfBlessedOnes } from "./equipment/item/EquipmentOfBlessedOnes.js";
|
|
34
34
|
import { GemOrPreciousStone } from "./equipment/item/GemOrPreciousStone.js";
|
|
35
|
+
import { HerbalAid } from "./equipment/item/HerbalAid.js";
|
|
35
36
|
import { IlluminationLightSource } from "./equipment/item/IlluminationLightSource.js";
|
|
36
37
|
import { IlluminationRefillOrSupply } from "./equipment/item/IlluminationRefillOrSupply.js";
|
|
37
38
|
import { Jewelry } from "./equipment/item/Jewelry.js";
|
|
@@ -42,10 +43,12 @@ import { MagicalArtifact } from "./equipment/item/MagicalArtifact.js";
|
|
|
42
43
|
import { MusicalInstrument } from "./equipment/item/MusicalInstrument.js";
|
|
43
44
|
import { Newspaper } from "./equipment/item/Newspaper.js";
|
|
44
45
|
import { OrienteeringAid } from "./equipment/item/OrienteeringAid.js";
|
|
46
|
+
import { Plant } from "./equipment/item/Plant.js";
|
|
45
47
|
import { Poison } from "./equipment/item/Poison.js";
|
|
46
48
|
import { RopeOrChain } from "./equipment/item/RopeOrChain.js";
|
|
47
49
|
import { Stationery } from "./equipment/item/Stationery.js";
|
|
48
50
|
import { ArmorType } from "./equipment/item/sub/ArmorType.js";
|
|
51
|
+
import { Biome } from "./equipment/item/sub/Biome.js";
|
|
49
52
|
import { Reach } from "./equipment/item/sub/Reach.js";
|
|
50
53
|
import { ThievesTool } from "./equipment/item/ThievesTool.js";
|
|
51
54
|
import { ToolOfTheTrade } from "./equipment/item/ToolOfTheTrade.js";
|
|
@@ -180,6 +183,7 @@ export const AttributeIdentifier = () => R(Attribute);
|
|
|
180
183
|
export const BandageOrRemedyIdentifier = () => R(BandageOrRemedy);
|
|
181
184
|
export const BannzeichenIdentifier = () => R(Bannzeichen);
|
|
182
185
|
export const BeutelzauberIdentifier = () => R(Beutelzauber);
|
|
186
|
+
export const BiomeIdentifier = () => R(Biome);
|
|
183
187
|
export const BlessedTraditionIdentifier = () => R(BlessedTradition);
|
|
184
188
|
export const BlessingIdentifier = () => R(Blessing);
|
|
185
189
|
export const BookIdentifier = () => R(Book);
|
|
@@ -231,6 +235,7 @@ export const GoblinRitualIdentifier = () => R(GoblinRitual);
|
|
|
231
235
|
export const GuidelineIdentifier = () => R(Guideline);
|
|
232
236
|
export const HairColorIdentifier = () => R(HairColor);
|
|
233
237
|
export const HaubenzauberIdentifier = () => R(Haubenzauber);
|
|
238
|
+
export const HerbalAidIdentifier = () => R(HerbalAid);
|
|
234
239
|
export const IlluminationLightSourceIdentifier = () => R(IlluminationLightSource);
|
|
235
240
|
export const IlluminationRefillOrSupplyIdentifier = () => R(IlluminationRefillOrSupply);
|
|
236
241
|
export const InfluenceIdentifier = () => R(Influence);
|
|
@@ -270,6 +275,7 @@ export const PactTypeIdentifier = () => R(PactType);
|
|
|
270
275
|
export const PatronCategoryIdentifier = () => R(PatronCategory);
|
|
271
276
|
export const PatronIdentifier = () => R(Patron);
|
|
272
277
|
export const PersonalityTraitIdentifier = () => R(PersonalityTrait);
|
|
278
|
+
export const PlantIdentifier = () => R(Plant);
|
|
273
279
|
export const PlayerTypeIdentifier = () => R(PlayerType);
|
|
274
280
|
export const PoisonIdentifier = () => R(Poison);
|
|
275
281
|
export const ProfessionIdentifier = () => R(Profession);
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Originally, this type was created to represent the text of a spell, which can
|
|
3
|
+
* be displayed in full on the spell card, but also in a compressed version on
|
|
4
|
+
* the character sheet. However, it can be used for any text that has a similar
|
|
5
|
+
* requirement.
|
|
6
|
+
*
|
|
7
|
+
* The `ResponsiveTextReplace` type is a special case where the full and
|
|
8
|
+
* compressed versions are not standalone texts, but rather templates that
|
|
9
|
+
* include a placeholder (`$1`) for a generated string. The generated string is
|
|
10
|
+
* expected to adapt to different size contexts as well.
|
|
11
|
+
*
|
|
12
|
+
* The `ResponsiveTextOptional` type allows for the possibility that a
|
|
13
|
+
* compressed version may not be provided. In such cases, the full text should
|
|
14
|
+
* be used in all contexts, and the absence of a compressed version indicates
|
|
15
|
+
* that no special formatting is needed for smaller areas.
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
1
18
|
import * as DB from "tsondb/schema/dsl";
|
|
2
19
|
export declare const ResponsiveText: DB.TypeAlias<"ResponsiveText", DB.Object<{
|
|
3
20
|
full: DB.MemberDecl<DB.String, true>;
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Originally, this type was created to represent the text of a spell, which can
|
|
3
|
+
* be displayed in full on the spell card, but also in a compressed version on
|
|
4
|
+
* the character sheet. However, it can be used for any text that has a similar
|
|
5
|
+
* requirement.
|
|
6
|
+
*
|
|
7
|
+
* The `ResponsiveTextReplace` type is a special case where the full and
|
|
8
|
+
* compressed versions are not standalone texts, but rather templates that
|
|
9
|
+
* include a placeholder (`$1`) for a generated string. The generated string is
|
|
10
|
+
* expected to adapt to different size contexts as well.
|
|
11
|
+
*
|
|
12
|
+
* The `ResponsiveTextOptional` type allows for the possibility that a
|
|
13
|
+
* compressed version may not be provided. In such cases, the full text should
|
|
14
|
+
* be used in all contexts, and the absence of a compressed version indicates
|
|
15
|
+
* that no special formatting is needed for smaller areas.
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
1
18
|
import * as DB from "tsondb/schema/dsl";
|
|
2
19
|
export const ResponsiveText = DB.TypeAlias(import.meta.url, {
|
|
3
20
|
name: "ResponsiveText",
|
|
@@ -92,6 +92,7 @@ export declare const Elixir: DB.Entity<"Elixir", {
|
|
|
92
92
|
alternative_names: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"AlternativeName", DB.Object<{
|
|
93
93
|
name: DB.MemberDecl<DB.String, true>;
|
|
94
94
|
region: DB.MemberDecl<DB.String, false>;
|
|
95
|
+
language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
95
96
|
}>, []>>>, false>;
|
|
96
97
|
typical_ingredients: DB.MemberDecl<DB.Array<DB.String>, true>;
|
|
97
98
|
brewing_process_prerequisites: DB.MemberDecl<DB.String, false>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const HerbalAid: DB.Entity<"HerbalAid", {
|
|
3
|
+
types: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"EffectType", {
|
|
4
|
+
Healing: DB.EnumCase<null>;
|
|
5
|
+
Poison: DB.EnumCase<null>;
|
|
6
|
+
PhysicalEffect: DB.EnumCase<null>;
|
|
7
|
+
PsychicEffect: DB.EnumCase<null>;
|
|
8
|
+
Beneficial: DB.EnumCase<null>;
|
|
9
|
+
Defensive: DB.EnumCase<null>;
|
|
10
|
+
Supernatural: DB.EnumCase<null>;
|
|
11
|
+
}, []>>>, true>;
|
|
12
|
+
crafting_difficulty: DB.MemberDecl<DB.Integer, true>;
|
|
13
|
+
combatUse: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HerbalAidCombatUse", {
|
|
14
|
+
Weapon: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
15
|
+
Armor: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
16
|
+
}, []>>, false>;
|
|
17
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
18
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
19
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
20
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
21
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
22
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
23
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
24
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
25
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
26
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
27
|
+
}, []>>, true>;
|
|
28
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
29
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
30
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
31
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
32
|
+
}, []>>, false>;
|
|
33
|
+
}>, []>>>, true>;
|
|
34
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
35
|
+
}>, []>>, true>;
|
|
36
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
37
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
38
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
39
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
40
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
41
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
42
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
43
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
44
|
+
}, []>>, true>;
|
|
45
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
46
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
47
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
48
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
49
|
+
}, []>>, false>;
|
|
50
|
+
}>, []>>>, true>;
|
|
51
|
+
}>, []>>>;
|
|
52
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
53
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
54
|
+
}>, []>>>;
|
|
55
|
+
}, []>>>, false>;
|
|
56
|
+
}>, true>;
|
|
57
|
+
}>, []>>>, []>>, true>;
|
|
58
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"HerbalAidTranslation", {
|
|
59
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
60
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
61
|
+
ingredients: DB.MemberDecl<DB.Array<DB.String>, true>;
|
|
62
|
+
typical_tools: DB.MemberDecl<DB.Array<DB.String>, false>;
|
|
63
|
+
}>, true>;
|
|
64
|
+
}, undefined>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { src } from "../../source/_PublicationRef.js";
|
|
3
|
+
import { NestedTranslationMap } from "../../Locale.js";
|
|
4
|
+
import { WeaponIdentifier, ArmorIdentifier } from "../../_Identifier.js";
|
|
5
|
+
import { EffectType } from "./_Herbary.js";
|
|
6
|
+
export const HerbalAid = DB.Entity(import.meta.url, {
|
|
7
|
+
name: "HerbalAid",
|
|
8
|
+
namePlural: "HerbalAids",
|
|
9
|
+
type: () => DB.Object({
|
|
10
|
+
types: DB.Required({
|
|
11
|
+
comment: "The plant types this aid belongs to.",
|
|
12
|
+
type: DB.Array(DB.IncludeIdentifier(EffectType), { minItems: 1, uniqueItems: true }),
|
|
13
|
+
}),
|
|
14
|
+
crafting_difficulty: DB.Required({
|
|
15
|
+
comment: "The difficulty for this aid to craft.",
|
|
16
|
+
type: DB.Integer(),
|
|
17
|
+
}),
|
|
18
|
+
combatUse: DB.Optional({
|
|
19
|
+
comment: "The armor or weapon this herbal aid represents.",
|
|
20
|
+
type: DB.IncludeIdentifier(HerbalAidCombatUse),
|
|
21
|
+
}),
|
|
22
|
+
src,
|
|
23
|
+
translations: NestedTranslationMap(DB.Required, "HerbalAid", DB.Object({
|
|
24
|
+
name: DB.Required({
|
|
25
|
+
comment: "The herbal aid's name.",
|
|
26
|
+
type: DB.String({ minLength: 1 }),
|
|
27
|
+
}),
|
|
28
|
+
description: DB.Required({
|
|
29
|
+
comment: "The herbal aid's description.",
|
|
30
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
31
|
+
}),
|
|
32
|
+
ingredients: DB.Required({
|
|
33
|
+
comment: "The ingredients used to craft this herbal aid.",
|
|
34
|
+
type: DB.Array(DB.String({ minLength: 1, markdown: "inline" }), { minItems: 1 }),
|
|
35
|
+
}),
|
|
36
|
+
typical_tools: DB.Optional({
|
|
37
|
+
comment: "The typical tools used to craft this.",
|
|
38
|
+
type: DB.Array(DB.String({ minLength: 1, markdown: "inline" }), { minItems: 1 }),
|
|
39
|
+
}),
|
|
40
|
+
})),
|
|
41
|
+
}),
|
|
42
|
+
instanceDisplayName: {},
|
|
43
|
+
uniqueConstraints: [
|
|
44
|
+
{
|
|
45
|
+
entityMapKeyPath: "translations",
|
|
46
|
+
keyPathInEntityMap: "name",
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
});
|
|
50
|
+
const HerbalAidCombatUse = DB.Enum(import.meta.url, {
|
|
51
|
+
name: "HerbalAidCombatUse",
|
|
52
|
+
values: () => ({
|
|
53
|
+
Weapon: DB.EnumCase({ type: WeaponIdentifier() }),
|
|
54
|
+
Armor: DB.EnumCase({ type: ArmorIdentifier() }),
|
|
55
|
+
}),
|
|
56
|
+
});
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const Plant: DB.Entity<"Plant", {
|
|
3
|
+
types: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"EffectType", {
|
|
4
|
+
Healing: DB.EnumCase<null>;
|
|
5
|
+
Poison: DB.EnumCase<null>;
|
|
6
|
+
PhysicalEffect: DB.EnumCase<null>;
|
|
7
|
+
PsychicEffect: DB.EnumCase<null>;
|
|
8
|
+
Beneficial: DB.EnumCase<null>;
|
|
9
|
+
Defensive: DB.EnumCase<null>;
|
|
10
|
+
Supernatural: DB.EnumCase<null>;
|
|
11
|
+
}, []>>>, true>;
|
|
12
|
+
occurences: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlantOccurences", DB.Object<{
|
|
13
|
+
items: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PlantOccurrence", DB.Object<{
|
|
14
|
+
biome: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
15
|
+
rarity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"PlantRarity", {
|
|
16
|
+
Common: DB.EnumCase<null>;
|
|
17
|
+
Occasional: DB.EnumCase<null>;
|
|
18
|
+
RatherRare: DB.EnumCase<null>;
|
|
19
|
+
Rare: DB.EnumCase<null>;
|
|
20
|
+
VeryRare: DB.EnumCase<null>;
|
|
21
|
+
}, []>>, true>;
|
|
22
|
+
translation: DB.MemberDecl<DB.NestedEntityMap<"PlantOccurrenceTranslation", {
|
|
23
|
+
note: DB.MemberDecl<DB.String, true>;
|
|
24
|
+
}>, false>;
|
|
25
|
+
}>, []>>>, false>;
|
|
26
|
+
translation: DB.MemberDecl<DB.NestedEntityMap<"PlantOccurrencesTranslation", {
|
|
27
|
+
note: DB.MemberDecl<DB.String, true>;
|
|
28
|
+
}>, false>;
|
|
29
|
+
}>, []>>, true>;
|
|
30
|
+
search_difficulty: DB.MemberDecl<DB.Integer, true>;
|
|
31
|
+
identification_difficulty: DB.MemberDecl<DB.Integer, true>;
|
|
32
|
+
applications: DB.MemberDecl<DB.Array<DB.Integer>, true>;
|
|
33
|
+
touch: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlantEffect", DB.Object<{
|
|
34
|
+
types: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"EffectType", {
|
|
35
|
+
Healing: DB.EnumCase<null>;
|
|
36
|
+
Poison: DB.EnumCase<null>;
|
|
37
|
+
PhysicalEffect: DB.EnumCase<null>;
|
|
38
|
+
PsychicEffect: DB.EnumCase<null>;
|
|
39
|
+
Beneficial: DB.EnumCase<null>;
|
|
40
|
+
Defensive: DB.EnumCase<null>;
|
|
41
|
+
Supernatural: DB.EnumCase<null>;
|
|
42
|
+
}, []>>>, false>;
|
|
43
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PlantEffectTranslationTranslation", {
|
|
44
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
45
|
+
}>, true>;
|
|
46
|
+
}>, []>>, false>;
|
|
47
|
+
inhalation: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlantEffect", DB.Object<{
|
|
48
|
+
types: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"EffectType", {
|
|
49
|
+
Healing: DB.EnumCase<null>;
|
|
50
|
+
Poison: DB.EnumCase<null>;
|
|
51
|
+
PhysicalEffect: DB.EnumCase<null>;
|
|
52
|
+
PsychicEffect: DB.EnumCase<null>;
|
|
53
|
+
Beneficial: DB.EnumCase<null>;
|
|
54
|
+
Defensive: DB.EnumCase<null>;
|
|
55
|
+
Supernatural: DB.EnumCase<null>;
|
|
56
|
+
}, []>>>, false>;
|
|
57
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PlantEffectTranslationTranslation", {
|
|
58
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
59
|
+
}>, true>;
|
|
60
|
+
}>, []>>, false>;
|
|
61
|
+
ingestion: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlantEffect", DB.Object<{
|
|
62
|
+
types: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"EffectType", {
|
|
63
|
+
Healing: DB.EnumCase<null>;
|
|
64
|
+
Poison: DB.EnumCase<null>;
|
|
65
|
+
PhysicalEffect: DB.EnumCase<null>;
|
|
66
|
+
PsychicEffect: DB.EnumCase<null>;
|
|
67
|
+
Beneficial: DB.EnumCase<null>;
|
|
68
|
+
Defensive: DB.EnumCase<null>;
|
|
69
|
+
Supernatural: DB.EnumCase<null>;
|
|
70
|
+
}, []>>>, false>;
|
|
71
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PlantEffectTranslationTranslation", {
|
|
72
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
73
|
+
}>, true>;
|
|
74
|
+
}>, []>>, false>;
|
|
75
|
+
price: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"PlantPrice", {
|
|
76
|
+
Constant: DB.EnumCase<DB.Object<{
|
|
77
|
+
value: DB.MemberDecl<DB.Float, true>;
|
|
78
|
+
cost: DB.MemberDecl<DB.Float, true>;
|
|
79
|
+
}>>;
|
|
80
|
+
Indefinite: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"IndefinitePlantPrice", DB.Object<{
|
|
81
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"IndefinitePlantPriceTranslation", {
|
|
82
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
83
|
+
}>, true>;
|
|
84
|
+
}>, []>>>;
|
|
85
|
+
}, []>>, true>;
|
|
86
|
+
recipes: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"PlantRecipe", {
|
|
87
|
+
HerbalAid: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HerbalAidRecipe", DB.Object<{
|
|
88
|
+
herbal_aid: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
89
|
+
translation: DB.MemberDecl<DB.NestedEntityMap<"HerbalAidRecipeTranslation", {
|
|
90
|
+
note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
91
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
92
|
+
compressed: DB.MemberDecl<DB.String, false>;
|
|
93
|
+
}>, []>>, false>;
|
|
94
|
+
replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
|
|
95
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
96
|
+
compressed: DB.MemberDecl<DB.String, true>;
|
|
97
|
+
}>, []>>, false>;
|
|
98
|
+
}>, false>;
|
|
99
|
+
}>, []>>>;
|
|
100
|
+
Elixir: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ElixirRecipe", DB.Object<{
|
|
101
|
+
elixir: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
102
|
+
translation: DB.MemberDecl<DB.NestedEntityMap<"ElixirRecipeTranslation", {
|
|
103
|
+
note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
104
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
105
|
+
compressed: DB.MemberDecl<DB.String, false>;
|
|
106
|
+
}>, []>>, false>;
|
|
107
|
+
replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
|
|
108
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
109
|
+
compressed: DB.MemberDecl<DB.String, true>;
|
|
110
|
+
}>, []>>, false>;
|
|
111
|
+
}>, false>;
|
|
112
|
+
}>, []>>>;
|
|
113
|
+
Poison: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PoisonRecipe", DB.Object<{
|
|
114
|
+
poison: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
115
|
+
translation: DB.MemberDecl<DB.NestedEntityMap<"PoisonRecipeTranslation", {
|
|
116
|
+
note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
117
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
118
|
+
compressed: DB.MemberDecl<DB.String, false>;
|
|
119
|
+
}>, []>>, false>;
|
|
120
|
+
replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
|
|
121
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
122
|
+
compressed: DB.MemberDecl<DB.String, true>;
|
|
123
|
+
}>, []>>, false>;
|
|
124
|
+
}>, false>;
|
|
125
|
+
}>, []>>>;
|
|
126
|
+
Indefinite: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"IndefiniteRecipe", DB.Object<{
|
|
127
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"IndefiniteRecipeTranslation", {
|
|
128
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
129
|
+
}>, true>;
|
|
130
|
+
}>, []>>>;
|
|
131
|
+
}, []>>>, false>;
|
|
132
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
133
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
134
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
135
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
136
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
137
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
138
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
139
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
140
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
141
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
142
|
+
}, []>>, true>;
|
|
143
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
144
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
145
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
146
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
147
|
+
}, []>>, false>;
|
|
148
|
+
}>, []>>>, true>;
|
|
149
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
150
|
+
}>, []>>, true>;
|
|
151
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
152
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
153
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
154
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
155
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
156
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
157
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
158
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
159
|
+
}, []>>, true>;
|
|
160
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
161
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
162
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
163
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
164
|
+
}, []>>, false>;
|
|
165
|
+
}>, []>>>, true>;
|
|
166
|
+
}>, []>>>;
|
|
167
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
168
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
169
|
+
}>, []>>>;
|
|
170
|
+
}, []>>>, false>;
|
|
171
|
+
}>, true>;
|
|
172
|
+
}>, []>>>, []>>, true>;
|
|
173
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PlantTranslation", {
|
|
174
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
175
|
+
alternative_names: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"AlternativeName", DB.Object<{
|
|
176
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
177
|
+
region: DB.MemberDecl<DB.String, false>;
|
|
178
|
+
language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
179
|
+
}>, []>>>, false>;
|
|
180
|
+
remedies_and_traditions: DB.MemberDecl<DB.String, true>;
|
|
181
|
+
knowledge: DB.MemberDecl<DB.Array<DB.String>, true>;
|
|
182
|
+
}>, true>;
|
|
183
|
+
}, undefined>;
|