@optolith/database-schema 0.93.0 → 0.95.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/gen/types.d.ts +188 -17
  3. package/lib/cache/tradeSecrets.js +15 -3
  4. package/lib/main.js +1 -0
  5. package/lib/types/Locale.d.ts +1 -0
  6. package/lib/types/Locale.js +1 -0
  7. package/lib/types/Settings.d.ts +57 -0
  8. package/lib/types/Settings.js +10 -1
  9. package/lib/types/_Identifier.d.ts +1 -0
  10. package/lib/types/_Identifier.js +2 -0
  11. package/lib/types/_IdentifierGroup.d.ts +1 -0
  12. package/lib/types/_IdentifierGroup.js +2 -1
  13. package/lib/types/_Prerequisite.d.ts +24 -0
  14. package/lib/types/_Prerequisite.js +5 -1
  15. package/lib/types/equipment/EquipmentPackage.d.ts +1 -0
  16. package/lib/types/equipment/item/Ammunition.d.ts +72 -0
  17. package/lib/types/equipment/item/Ammunition.js +5 -1
  18. package/lib/types/equipment/item/Armor.d.ts +24 -0
  19. package/lib/types/equipment/item/ArmorAccessory.d.ts +281 -0
  20. package/lib/types/equipment/item/ArmorAccessory.js +48 -0
  21. package/lib/types/equipment/item/BandageOrRemedy.d.ts +24 -0
  22. package/lib/types/equipment/item/Book.d.ts +98 -20
  23. package/lib/types/equipment/item/Book.js +60 -45
  24. package/lib/types/equipment/item/CeremonialItem.d.ts +24 -0
  25. package/lib/types/equipment/item/Clothes.d.ts +24 -0
  26. package/lib/types/equipment/item/Container.d.ts +24 -0
  27. package/lib/types/equipment/item/IlluminationLightSource.d.ts +24 -0
  28. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +24 -0
  29. package/lib/types/equipment/item/Item.d.ts +24 -0
  30. package/lib/types/equipment/item/Jewelry.d.ts +24 -0
  31. package/lib/types/equipment/item/Laboratory.d.ts +24 -0
  32. package/lib/types/equipment/item/Liebesspielzeug.d.ts +24 -0
  33. package/lib/types/equipment/item/LuxuryGood.d.ts +24 -0
  34. package/lib/types/equipment/item/MagicalArtifact.d.ts +24 -0
  35. package/lib/types/equipment/item/MusicalInstrument.d.ts +24 -0
  36. package/lib/types/equipment/item/OrienteeringAid.d.ts +24 -0
  37. package/lib/types/equipment/item/RopeOrChain.d.ts +24 -0
  38. package/lib/types/equipment/item/Stationery.d.ts +24 -0
  39. package/lib/types/equipment/item/ThievesTool.d.ts +24 -0
  40. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +24 -0
  41. package/lib/types/equipment/item/TravelGearOrTool.d.ts +24 -0
  42. package/lib/types/equipment/item/Vehicle.d.ts +24 -0
  43. package/lib/types/equipment/item/Weapon.d.ts +24 -0
  44. package/lib/types/equipment/item/WeaponAccessory.d.ts +24 -0
  45. package/lib/types/equipment/item/_Item.d.ts +72 -0
  46. package/lib/types/equipment/item/_Item.js +5 -0
  47. package/lib/types/index.d.ts +1 -0
  48. package/lib/types/index.js +1 -0
  49. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +1 -0
  50. package/lib/types/magicalActions/ElvenMagicalSong.js +4 -0
  51. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +9 -0
  52. package/lib/types/prerequisites/PrerequisiteGroups.js +9 -0
  53. package/lib/types/prerequisites/single/LanguagePrerequisite.d.ts +5 -0
  54. package/lib/types/prerequisites/single/LanguagePrerequisite.js +15 -0
  55. package/lib/types/prerequisites/single/ScriptPrerequisite.d.ts +4 -0
  56. package/lib/types/prerequisites/single/ScriptPrerequisite.js +11 -0
  57. package/package.json +1 -1
@@ -13,6 +13,30 @@ export declare const Book: DB.Entity<"Book", {
13
13
  Magical: DB.EnumCase<null>;
14
14
  Religious: DB.EnumCase<null>;
15
15
  }, []>>>, true>;
16
+ languageAndScript: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"BookPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
17
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
18
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
19
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
20
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
21
+ Hide: DB.EnumCase<null>;
22
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
23
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
24
+ Standalone: DB.EnumCase<null>;
25
+ Connected: DB.EnumCase<null>;
26
+ }, []>>, false>;
27
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
28
+ replacement: DB.MemberDecl<DB.String, true>;
29
+ }>, true>;
30
+ }>, []>>>;
31
+ }, []>>, false>;
32
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
33
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
36
+ text: DB.MemberDecl<DB.String, true>;
37
+ }>, true>;
38
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
39
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
16
40
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BookCost", {
17
41
  Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"BookCostVariant", {
18
42
  Definite: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"DefiniteBookCostVariant", DB.Object<{
@@ -91,6 +115,30 @@ export declare const Book: DB.Entity<"Book", {
91
115
  Simple: DB.EnumCase<null>;
92
116
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
93
117
  ap_value: DB.MemberDecl<DB.Integer, true>;
118
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
119
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
120
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
121
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
122
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
123
+ Hide: DB.EnumCase<null>;
124
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
125
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
126
+ Standalone: DB.EnumCase<null>;
127
+ Connected: DB.EnumCase<null>;
128
+ }, []>>, false>;
129
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
130
+ replacement: DB.MemberDecl<DB.String, true>;
131
+ }>, true>;
132
+ }>, []>>>;
133
+ }, []>>, false>;
134
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
135
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
136
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
137
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
138
+ text: DB.MemberDecl<DB.String, true>;
139
+ }>, true>;
140
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
141
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
94
142
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
95
143
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
96
144
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -142,6 +190,55 @@ export declare const Book: DB.Entity<"Book", {
142
190
  Average: DB.EnumCase<null>;
143
191
  Demanding: DB.EnumCase<DB.Integer>;
144
192
  }, []>>, false>;
193
+ rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BookRules", {
194
+ Plain: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainBookRules", DB.Object<{
195
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PlainBookRulesTranslation", {
196
+ text: DB.MemberDecl<DB.String, true>;
197
+ reconstruction: DB.MemberDecl<DB.String, false>;
198
+ references: DB.MemberDecl<DB.String, false>;
199
+ textAfter: DB.MemberDecl<DB.String, false>;
200
+ }>, true>;
201
+ }>, []>>>;
202
+ Entertainment: DB.EnumCase<null>;
203
+ ByEdition: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"BookRulesByEdition", DB.Object<{
204
+ editions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"BookRulesOfEdition", DB.Object<{
205
+ languageAndScript: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"BookPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
206
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
207
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
208
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
209
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
210
+ Hide: DB.EnumCase<null>;
211
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
212
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
213
+ Standalone: DB.EnumCase<null>;
214
+ Connected: DB.EnumCase<null>;
215
+ }, []>>, false>;
216
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
217
+ replacement: DB.MemberDecl<DB.String, true>;
218
+ }>, true>;
219
+ }>, []>>>;
220
+ }, []>>, false>;
221
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
222
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
223
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
224
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
225
+ text: DB.MemberDecl<DB.String, true>;
226
+ }>, true>;
227
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
228
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
229
+ translations: DB.MemberDecl<DB.NestedEntityMap<"BookRulesOfEditionTranslation", {
230
+ label: DB.MemberDecl<DB.String, true>;
231
+ languageAndScript: DB.MemberDecl<DB.String, false>;
232
+ text: DB.MemberDecl<DB.String, true>;
233
+ reconstruction: DB.MemberDecl<DB.String, false>;
234
+ references: DB.MemberDecl<DB.String, false>;
235
+ }>, true>;
236
+ }>, []>>>, true>;
237
+ translations: DB.MemberDecl<DB.NestedEntityMap<"BookRulesByEditionTranslation", {
238
+ textAfter: DB.MemberDecl<DB.String, false>;
239
+ }>, false>;
240
+ }>, []>>>;
241
+ }, []>>, true>;
145
242
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
146
243
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
147
244
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -186,27 +283,8 @@ export declare const Book: DB.Entity<"Book", {
186
283
  translations: DB.MemberDecl<DB.NestedEntityMap<"BookTranslation", {
187
284
  name: DB.MemberDecl<DB.String, true>;
188
285
  secondary_name: DB.MemberDecl<DB.String, false>;
189
- language: DB.MemberDecl<DB.String, false>;
190
- script: DB.MemberDecl<DB.String, false>;
286
+ languageAndScript: DB.MemberDecl<DB.String, false>;
191
287
  note: DB.MemberDecl<DB.String, false>;
192
- rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BookRules", {
193
- Plain: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainBookRules", DB.Object<{
194
- text: DB.MemberDecl<DB.String, true>;
195
- reconstruction: DB.MemberDecl<DB.String, false>;
196
- references: DB.MemberDecl<DB.String, false>;
197
- textAfter: DB.MemberDecl<DB.String, false>;
198
- }>, []>>>;
199
- Entertainment: DB.EnumCase<null>;
200
- ByEdition: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"BookRulesByEdition", DB.Object<{
201
- editions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"BookRulesOfEdition", DB.Object<{
202
- label: DB.MemberDecl<DB.String, true>;
203
- text: DB.MemberDecl<DB.String, true>;
204
- reconstruction: DB.MemberDecl<DB.String, false>;
205
- references: DB.MemberDecl<DB.String, false>;
206
- }>, []>>>, true>;
207
- textAfter: DB.MemberDecl<DB.String, false>;
208
- }>, []>>>;
209
- }, []>>, false>;
210
288
  legality: DB.MemberDecl<DB.String, false>;
211
289
  availability: DB.MemberDecl<DB.String, false>;
212
290
  special: DB.MemberDecl<DB.String, false>;
@@ -1,5 +1,6 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { SkillIdentifier } from "../../_Identifier.js";
3
+ import { BookPrerequisites } from "../../_Prerequisite.js";
3
4
  import { NestedTranslationMap } from "../../Locale.js";
4
5
  import { Errata } from "../../source/_Erratum.js";
5
6
  import { src } from "../../source/_PublicationRef.js";
@@ -12,6 +13,10 @@ export const Book = DB.Entity(import.meta.url, {
12
13
  comment: "The type of book.",
13
14
  type: DB.Array(DB.IncludeIdentifier(BookType), { minItems: 1, uniqueItems: true }),
14
15
  }),
16
+ languageAndScript: DB.Optional({
17
+ comment: "The language(s) and script(s) the book is written in.",
18
+ type: DB.IncludeIdentifier(BookPrerequisites),
19
+ }),
15
20
  cost: DB.Required({
16
21
  comment: "The cost in silverthalers.",
17
22
  type: DB.IncludeIdentifier(BookCost),
@@ -32,6 +37,10 @@ export const Book = DB.Entity(import.meta.url, {
32
37
  comment: "The quality of the book’s content.",
33
38
  type: DB.IncludeIdentifier(BookContentQuality),
34
39
  }),
40
+ rules: DB.Required({
41
+ comment: "Skills and abilities you can learn by reading the book, as well as any other rules and effects concerning the book.",
42
+ type: DB.IncludeIdentifier(BookRules),
43
+ }),
35
44
  src,
36
45
  translations: NestedTranslationMap(DB.Required, "Book", DB.Object({
37
46
  name: DB.Required({
@@ -42,22 +51,14 @@ export const Book = DB.Entity(import.meta.url, {
42
51
  comment: "An auxiliary name or label of the item, if available.",
43
52
  type: DB.String({ minLength: 1 }),
44
53
  }),
45
- language: DB.Optional({
46
- comment: "The language the book is written in, if specified.",
47
- type: DB.String({ minLength: 1, markdown: "inline" }),
48
- }),
49
- script: DB.Optional({
50
- comment: "The script that was used for the book, if specified.",
54
+ languageAndScript: DB.Optional({
55
+ comment: "The language(s) and script(s) the book is written in.",
51
56
  type: DB.String({ minLength: 1, markdown: "inline" }),
52
57
  }),
53
58
  note: DB.Optional({
54
59
  comment: "Note text.",
55
60
  type: DB.String({ minLength: 1, markdown: "block" }),
56
61
  }),
57
- rules: DB.Optional({
58
- comment: "Special rules text.",
59
- type: DB.IncludeIdentifier(BookRules),
60
- }),
61
62
  legality: DB.Optional({
62
63
  comment: "The legality of the item, if specified.",
63
64
  type: DB.String({ minLength: 1, markdown: "inline" }),
@@ -217,22 +218,24 @@ const PlainBookRules = DB.TypeAlias(import.meta.url, {
217
218
  name: "PlainBookRules",
218
219
  comment: "The book’s rules without any special effects or conditions.",
219
220
  type: () => DB.Object({
220
- text: DB.Required({
221
- comment: "The (main) rules text.",
222
- type: DB.String({ minLength: 1, markdown: "block" }),
223
- }),
224
- reconstruction: DB.Optional({
225
- comment: "Rules for reconstructing certain skills or abilities from the book.",
226
- type: DB.String({ minLength: 1, markdown: "block" }),
227
- }),
228
- references: DB.Optional({
229
- comment: "References to skills and abilities that, while mentioned in the book, cannot be learned from this book alone.",
230
- type: DB.String({ minLength: 1, markdown: "block" }),
231
- }),
232
- textAfter: DB.Optional({
233
- comment: "Additional rules text that comes after all other rules.",
234
- type: DB.String({ minLength: 1, markdown: "block" }),
235
- }),
221
+ translations: NestedTranslationMap(DB.Required, "PlainBookRules", DB.Object({
222
+ text: DB.Required({
223
+ comment: "The (main) rules text.",
224
+ type: DB.String({ minLength: 1, markdown: "block" }),
225
+ }),
226
+ reconstruction: DB.Optional({
227
+ comment: "Rules for reconstructing certain skills or abilities from the book.",
228
+ type: DB.String({ minLength: 1, markdown: "block" }),
229
+ }),
230
+ references: DB.Optional({
231
+ comment: "References to skills and abilities that, while mentioned in the book, cannot be learned from this book alone.",
232
+ type: DB.String({ minLength: 1, markdown: "block" }),
233
+ }),
234
+ textAfter: DB.Optional({
235
+ comment: "Additional rules text that comes after all other rules.",
236
+ type: DB.String({ minLength: 1, markdown: "block" }),
237
+ }),
238
+ })),
236
239
  }),
237
240
  });
238
241
  const BookRulesByEdition = DB.TypeAlias(import.meta.url, {
@@ -242,30 +245,42 @@ const BookRulesByEdition = DB.TypeAlias(import.meta.url, {
242
245
  editions: DB.Required({
243
246
  type: DB.Array(DB.IncludeIdentifier(BookRulesOfEdition), { minItems: 1 }),
244
247
  }),
245
- textAfter: DB.Optional({
246
- comment: "Additional rules text that comes after all other rules.",
247
- type: DB.String({ minLength: 1, markdown: "block" }),
248
- }),
248
+ translations: NestedTranslationMap(DB.Optional, "BookRulesByEdition", DB.Object({
249
+ textAfter: DB.Optional({
250
+ comment: "Additional rules text that comes after all other rules.",
251
+ type: DB.String({ minLength: 1, markdown: "block" }),
252
+ }),
253
+ })),
249
254
  }),
250
255
  });
251
256
  const BookRulesOfEdition = DB.TypeAlias(import.meta.url, {
252
257
  name: "BookRulesOfEdition",
253
258
  type: () => DB.Object({
254
- label: DB.Required({
255
- comment: "The edition(s) the rules apply to.",
256
- type: DB.String({ minLength: 1 }),
257
- }),
258
- text: DB.Required({
259
- comment: "The rules text.",
260
- type: DB.String({ minLength: 1, markdown: "block" }),
261
- }),
262
- reconstruction: DB.Optional({
263
- comment: "Rules for reconstructing certain skills or abilities from the book.",
264
- type: DB.String({ minLength: 1, markdown: "block" }),
265
- }),
266
- references: DB.Optional({
267
- comment: "References to skills and abilities that, while mentioned in the book, cannot be learned from this book alone.",
268
- type: DB.String({ minLength: 1, markdown: "block" }),
259
+ languageAndScript: DB.Optional({
260
+ comment: "The language(s) and script(s) the book is written in.",
261
+ type: DB.IncludeIdentifier(BookPrerequisites),
269
262
  }),
263
+ translations: NestedTranslationMap(DB.Required, "BookRulesOfEdition", DB.Object({
264
+ label: DB.Required({
265
+ comment: "The edition(s) the rules apply to.",
266
+ type: DB.String({ minLength: 1 }),
267
+ }),
268
+ languageAndScript: DB.Optional({
269
+ comment: "The language(s) and script(s) the book is written in.",
270
+ type: DB.String({ minLength: 1, markdown: "inline" }),
271
+ }),
272
+ text: DB.Required({
273
+ comment: "The rules text.",
274
+ type: DB.String({ minLength: 1, markdown: "block" }),
275
+ }),
276
+ reconstruction: DB.Optional({
277
+ comment: "Rules for reconstructing certain skills or abilities from the book.",
278
+ type: DB.String({ minLength: 1, markdown: "block" }),
279
+ }),
280
+ references: DB.Optional({
281
+ comment: "References to skills and abilities that, while mentioned in the book, cannot be learned from this book alone.",
282
+ type: DB.String({ minLength: 1, markdown: "block" }),
283
+ }),
284
+ })),
270
285
  }),
271
286
  });
@@ -28,6 +28,30 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const Clothes: DB.Entity<"Clothes", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const Container: DB.Entity<"Container", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -29,6 +29,30 @@ export declare const Item: DB.Entity<"Item", {
29
29
  Simple: DB.EnumCase<null>;
30
30
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
31
31
  ap_value: DB.MemberDecl<DB.Integer, true>;
32
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
33
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
34
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
35
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
36
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
37
+ Hide: DB.EnumCase<null>;
38
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
39
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
40
+ Standalone: DB.EnumCase<null>;
41
+ Connected: DB.EnumCase<null>;
42
+ }, []>>, false>;
43
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
44
+ replacement: DB.MemberDecl<DB.String, true>;
45
+ }>, true>;
46
+ }>, []>>>;
47
+ }, []>>, false>;
48
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
49
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
50
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
51
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
52
+ text: DB.MemberDecl<DB.String, true>;
53
+ }>, true>;
54
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
55
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
32
56
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
33
57
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
34
58
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -15,6 +15,30 @@ export declare const Jewelry: DB.Entity<"Jewelry", {
15
15
  Simple: DB.EnumCase<null>;
16
16
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
17
17
  ap_value: DB.MemberDecl<DB.Integer, true>;
18
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
19
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
20
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
21
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
22
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
23
+ Hide: DB.EnumCase<null>;
24
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
25
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
26
+ Standalone: DB.EnumCase<null>;
27
+ Connected: DB.EnumCase<null>;
28
+ }, []>>, false>;
29
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
30
+ replacement: DB.MemberDecl<DB.String, true>;
31
+ }>, true>;
32
+ }>, []>>>;
33
+ }, []>>, false>;
34
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
35
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
36
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
37
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
38
+ text: DB.MemberDecl<DB.String, true>;
39
+ }>, true>;
40
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
41
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
18
42
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
19
43
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
20
44
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const Laboratory: DB.Entity<"Laboratory", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -28,6 +28,30 @@ export declare const Liebesspielzeug: DB.Entity<"Liebesspielzeug", {
28
28
  Simple: DB.EnumCase<null>;
29
29
  Complex: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ComplexComplexity", DB.Object<{
30
30
  ap_value: DB.MemberDecl<DB.Integer, true>;
31
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PlainGeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
32
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
33
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
34
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
35
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
36
+ Hide: DB.EnumCase<null>;
37
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
38
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
39
+ Standalone: DB.EnumCase<null>;
40
+ Connected: DB.EnumCase<null>;
41
+ }, []>>, false>;
42
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
43
+ replacement: DB.MemberDecl<DB.String, true>;
44
+ }>, true>;
45
+ }>, []>>>;
46
+ }, []>>, false>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
49
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
50
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
51
+ text: DB.MemberDecl<DB.String, true>;
52
+ }>, true>;
53
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
54
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
31
55
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
32
56
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
33
57
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {