optolith-database-schema 0.17.2 → 0.18.1

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 (626) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/lib/main.d.ts +2 -101
  3. package/lib/main.js +361 -106
  4. package/lib/test.d.ts +1 -0
  5. package/lib/test.js +2 -0
  6. package/lib/types/Advantage.d.ts +921 -63
  7. package/lib/types/Advantage.js +42 -13
  8. package/lib/types/AnimalDisease.d.ts +90 -59
  9. package/lib/types/AnimalDisease.js +28 -13
  10. package/lib/types/AnimalType.d.ts +6 -28
  11. package/lib/types/AnimalType.js +14 -13
  12. package/lib/types/ArcaneBardTradition.d.ts +30 -10
  13. package/lib/types/ArcaneBardTradition.js +7 -13
  14. package/lib/types/ArcaneDancerTradition.d.ts +30 -10
  15. package/lib/types/ArcaneDancerTradition.js +7 -13
  16. package/lib/types/Aspect.d.ts +7 -33
  17. package/lib/types/Aspect.js +20 -13
  18. package/lib/types/Attribute.d.ts +8 -36
  19. package/lib/types/Attribute.js +23 -13
  20. package/lib/types/Blessing.d.ts +96 -113
  21. package/lib/types/Blessing.js +94 -13
  22. package/lib/types/Cantrip.d.ts +132 -183
  23. package/lib/types/Cantrip.js +159 -13
  24. package/lib/types/Ceremony.d.ts +630 -113
  25. package/lib/types/Ceremony.js +87 -13
  26. package/lib/types/CombatTechnique.d.ts +127 -0
  27. package/lib/types/CombatTechnique.js +101 -0
  28. package/lib/types/Condition.d.ts +52 -40
  29. package/lib/types/Condition.js +31 -13
  30. package/lib/types/Continent.d.ts +6 -30
  31. package/lib/types/Continent.js +15 -13
  32. package/lib/types/Culture.d.ts +142 -369
  33. package/lib/types/Culture.js +355 -13
  34. package/lib/types/DerivedCharacteristic.d.ts +76 -61
  35. package/lib/types/DerivedCharacteristic.js +45 -13
  36. package/lib/types/Disadvantage.d.ts +921 -58
  37. package/lib/types/Disadvantage.js +45 -13
  38. package/lib/types/Disease.d.ts +81 -43
  39. package/lib/types/Disease.js +15 -13
  40. package/lib/types/Element.d.ts +6 -28
  41. package/lib/types/Element.js +14 -13
  42. package/lib/types/ExperienceLevel.d.ts +13 -64
  43. package/lib/types/ExperienceLevel.js +43 -13
  44. package/lib/types/EyeColor.d.ts +6 -28
  45. package/lib/types/EyeColor.js +14 -13
  46. package/lib/types/FamiliarsTrick.d.ts +189 -266
  47. package/lib/types/FamiliarsTrick.js +193 -13
  48. package/lib/types/HairColor.d.ts +6 -28
  49. package/lib/types/HairColor.js +14 -13
  50. package/lib/types/Lessons.d.ts +180 -0
  51. package/lib/types/Lessons.js +212 -0
  52. package/lib/types/LiturgicalChant.d.ts +630 -113
  53. package/lib/types/LiturgicalChant.js +87 -13
  54. package/lib/types/Locale.d.ts +11 -36
  55. package/lib/types/Locale.js +1316 -13
  56. package/lib/types/MetaCondition.d.ts +52 -43
  57. package/lib/types/MetaCondition.js +32 -13
  58. package/lib/types/PactCategory.d.ts +74 -78
  59. package/lib/types/PactCategory.js +65 -13
  60. package/lib/types/Patron.d.ts +100 -197
  61. package/lib/types/Patron.js +195 -13
  62. package/lib/types/PatronCategory.d.ts +7 -36
  63. package/lib/types/PatronCategory.js +19 -13
  64. package/lib/types/PersonalityTrait.d.ts +80 -67
  65. package/lib/types/PersonalityTrait.js +51 -13
  66. package/lib/types/Profession.d.ts +1911 -665
  67. package/lib/types/Profession.js +593 -13
  68. package/lib/types/Property.d.ts +7 -34
  69. package/lib/types/Property.js +19 -13
  70. package/lib/types/Race.d.ts +163 -349
  71. package/lib/types/Race.js +287 -13
  72. package/lib/types/Region.d.ts +6 -28
  73. package/lib/types/Region.js +14 -13
  74. package/lib/types/Ritual.d.ts +627 -111
  75. package/lib/types/Ritual.js +88 -13
  76. package/lib/types/Service.d.ts +55 -43
  77. package/lib/types/Service.js +38 -13
  78. package/lib/types/SexPractice.d.ts +50 -47
  79. package/lib/types/SexPractice.js +32 -13
  80. package/lib/types/Skill.d.ts +112 -131
  81. package/lib/types/Skill.js +120 -10
  82. package/lib/types/SkillGroup.d.ts +8 -37
  83. package/lib/types/SkillGroup.js +23 -13
  84. package/lib/types/SkillModificationLevel.d.ts +31 -101
  85. package/lib/types/SkillModificationLevel.js +95 -10
  86. package/lib/types/SocialStatus.d.ts +7 -28
  87. package/lib/types/SocialStatus.js +18 -13
  88. package/lib/types/Spell.d.ts +627 -111
  89. package/lib/types/Spell.js +88 -13
  90. package/lib/types/State.d.ts +51 -36
  91. package/lib/types/State.js +24 -13
  92. package/lib/types/Talisman.d.ts +64 -70
  93. package/lib/types/Talisman.js +64 -13
  94. package/lib/types/TargetCategory.d.ts +7 -42
  95. package/lib/types/TargetCategory.js +19 -13
  96. package/lib/types/_Activatable.d.ts +1587 -1366
  97. package/lib/types/_Activatable.js +1392 -2
  98. package/lib/types/_ActivatableSelectOptionCategory.d.ts +657 -386
  99. package/lib/types/_ActivatableSelectOptionCategory.js +381 -1
  100. package/lib/types/_ActivatableSkill.d.ts +1105 -34
  101. package/lib/types/_ActivatableSkill.js +82 -1
  102. package/lib/types/_ActivatableSkillCastingTime.d.ts +66 -74
  103. package/lib/types/_ActivatableSkillCastingTime.js +92 -1
  104. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +25 -33
  105. package/lib/types/_ActivatableSkillCheckResultBased.js +44 -1
  106. package/lib/types/_ActivatableSkillCost.d.ts +209 -255
  107. package/lib/types/_ActivatableSkillCost.js +224 -1
  108. package/lib/types/_ActivatableSkillDuration.d.ts +202 -135
  109. package/lib/types/_ActivatableSkillDuration.js +138 -1
  110. package/lib/types/_ActivatableSkillEffect.d.ts +16 -68
  111. package/lib/types/_ActivatableSkillEffect.js +65 -1
  112. package/lib/types/_ActivatableSkillRange.d.ts +61 -115
  113. package/lib/types/_ActivatableSkillRange.js +106 -1
  114. package/lib/types/_ActivatableSkillTargetCategory.d.ts +13 -39
  115. package/lib/types/_ActivatableSkillTargetCategory.js +29 -1
  116. package/lib/types/_AlternativeNames.d.ts +5 -11
  117. package/lib/types/_AlternativeNames.js +14 -1
  118. package/lib/types/_ArcaneTradition.d.ts +30 -28
  119. package/lib/types/_ArcaneTradition.js +14 -4
  120. package/lib/types/_Blessed.d.ts +8 -22
  121. package/lib/types/_Blessed.js +22 -1
  122. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +4 -10
  123. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +12 -1
  124. package/lib/types/_Dice.d.ts +6 -19
  125. package/lib/types/_Dice.js +23 -1
  126. package/lib/types/_DiseasePoison.d.ts +56 -107
  127. package/lib/types/_DiseasePoison.js +107 -2
  128. package/lib/types/_Enhancements.d.ts +165 -59
  129. package/lib/types/_Enhancements.js +66 -1
  130. package/lib/types/_I18n.d.ts +14 -42
  131. package/lib/types/_I18n.js +55 -1
  132. package/lib/types/_Identifier.d.ts +158 -1274
  133. package/lib/types/_Identifier.js +300 -1
  134. package/lib/types/_IdentifierGroup.d.ts +278 -29
  135. package/lib/types/_IdentifierGroup.js +340 -1
  136. package/lib/types/_ImprovementCost.d.ts +7 -4
  137. package/lib/types/_ImprovementCost.js +10 -1
  138. package/lib/types/_Influence.d.ts +78 -49
  139. package/lib/types/_Influence.js +42 -4
  140. package/lib/types/_Prerequisite.d.ts +370 -106
  141. package/lib/types/_Prerequisite.js +136 -1
  142. package/lib/types/_ResponsiveText.d.ts +13 -54
  143. package/lib/types/_ResponsiveText.js +37 -1
  144. package/lib/types/_Sex.d.ts +5 -7
  145. package/lib/types/_Sex.js +8 -4
  146. package/lib/types/_SkillCheck.d.ts +10 -15
  147. package/lib/types/_SkillCheck.js +34 -1
  148. package/lib/types/_Spellwork.d.ts +5 -18
  149. package/lib/types/_Spellwork.js +13 -1
  150. package/lib/types/equipment/EquipmentPackage.d.ts +80 -51
  151. package/lib/types/equipment/EquipmentPackage.js +34 -13
  152. package/lib/types/equipment/item/Ammunition.d.ts +69 -32
  153. package/lib/types/equipment/item/Ammunition.js +29 -13
  154. package/lib/types/equipment/item/Animal.d.ts +71 -19
  155. package/lib/types/equipment/item/Animal.js +15 -13
  156. package/lib/types/equipment/item/AnimalCare.d.ts +86 -49
  157. package/lib/types/equipment/item/AnimalCare.js +51 -13
  158. package/lib/types/equipment/item/Armor.d.ts +120 -186
  159. package/lib/types/equipment/item/Armor.js +156 -13
  160. package/lib/types/equipment/item/BandageOrRemedy.d.ts +176 -37
  161. package/lib/types/equipment/item/BandageOrRemedy.js +2 -14
  162. package/lib/types/equipment/item/Book.d.ts +84 -61
  163. package/lib/types/equipment/item/Book.js +57 -13
  164. package/lib/types/equipment/item/CeremonialItem.d.ts +178 -42
  165. package/lib/types/equipment/item/CeremonialItem.js +36 -13
  166. package/lib/types/equipment/item/Clothes.d.ts +176 -7
  167. package/lib/types/equipment/item/Clothes.js +2 -14
  168. package/lib/types/equipment/item/Container.d.ts +176 -7
  169. package/lib/types/equipment/item/Container.js +2 -14
  170. package/lib/types/equipment/item/Elixir.d.ts +91 -76
  171. package/lib/types/equipment/item/Elixir.js +54 -13
  172. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +170 -29
  173. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +28 -13
  174. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +72 -44
  175. package/lib/types/equipment/item/GemOrPreciousStone.js +41 -13
  176. package/lib/types/equipment/item/IlluminationLightSource.d.ts +186 -61
  177. package/lib/types/equipment/item/IlluminationLightSource.js +61 -13
  178. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +176 -0
  179. package/lib/types/equipment/item/IlluminationRefillOrSupply.js +2 -0
  180. package/lib/types/equipment/item/Jewelry.d.ts +73 -61
  181. package/lib/types/equipment/item/Jewelry.js +37 -13
  182. package/lib/types/equipment/item/Liebesspielzeug.d.ts +176 -7
  183. package/lib/types/equipment/item/Liebesspielzeug.js +2 -14
  184. package/lib/types/equipment/item/LuxuryGood.d.ts +176 -37
  185. package/lib/types/equipment/item/LuxuryGood.js +2 -14
  186. package/lib/types/equipment/item/MagicalArtifact.d.ts +71 -40
  187. package/lib/types/equipment/item/MagicalArtifact.js +15 -13
  188. package/lib/types/equipment/item/MusicalInstrument.d.ts +174 -32
  189. package/lib/types/equipment/item/MusicalInstrument.js +27 -13
  190. package/lib/types/equipment/item/OrienteeringAid.d.ts +176 -7
  191. package/lib/types/equipment/item/OrienteeringAid.js +2 -14
  192. package/lib/types/equipment/item/Poison.d.ts +483 -354
  193. package/lib/types/equipment/item/Poison.js +386 -13
  194. package/lib/types/equipment/item/RopeOrChain.d.ts +176 -7
  195. package/lib/types/equipment/item/RopeOrChain.js +2 -14
  196. package/lib/types/equipment/item/Stationery.d.ts +176 -0
  197. package/lib/types/equipment/item/Stationery.js +2 -0
  198. package/lib/types/equipment/item/ThievesTool.d.ts +176 -7
  199. package/lib/types/equipment/item/ThievesTool.js +2 -14
  200. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +89 -61
  201. package/lib/types/equipment/item/ToolOfTheTrade.js +40 -13
  202. package/lib/types/equipment/item/TravelGearOrTool.d.ts +176 -7
  203. package/lib/types/equipment/item/TravelGearOrTool.js +2 -14
  204. package/lib/types/equipment/item/Vehicle.d.ts +71 -19
  205. package/lib/types/equipment/item/Vehicle.js +15 -13
  206. package/lib/types/equipment/item/Weapon.d.ts +223 -166
  207. package/lib/types/equipment/item/Weapon.js +153 -13
  208. package/lib/types/equipment/item/WeaponAccessory.d.ts +176 -7
  209. package/lib/types/equipment/item/WeaponAccessory.js +2 -14
  210. package/lib/types/equipment/item/_Herbary.d.ts +42 -16
  211. package/lib/types/equipment/item/_Herbary.js +36 -1
  212. package/lib/types/equipment/item/_Item.d.ts +317 -160
  213. package/lib/types/equipment/item/_Item.js +144 -1
  214. package/lib/types/equipment/item/_MeleeWeapon.d.ts +37 -105
  215. package/lib/types/equipment/item/_MeleeWeapon.js +92 -1
  216. package/lib/types/equipment/item/_RangedWeapon.d.ts +25 -106
  217. package/lib/types/equipment/item/_RangedWeapon.js +85 -1
  218. package/lib/types/equipment/item/_Weapon.d.ts +13 -57
  219. package/lib/types/equipment/item/_Weapon.js +49 -1
  220. package/lib/types/equipment/item/sub/ArmorType.d.ts +7 -37
  221. package/lib/types/equipment/item/sub/ArmorType.js +18 -13
  222. package/lib/types/equipment/item/sub/Reach.d.ts +6 -28
  223. package/lib/types/equipment/item/sub/Reach.js +14 -13
  224. package/lib/types/index.d.ts +148 -0
  225. package/lib/types/index.js +148 -0
  226. package/lib/types/magicalActions/AnimistPower.d.ts +299 -238
  227. package/lib/types/magicalActions/AnimistPower.js +182 -13
  228. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +6 -28
  229. package/lib/types/magicalActions/AnimistPower_Tribe.js +14 -13
  230. package/lib/types/magicalActions/Curse.d.ts +215 -162
  231. package/lib/types/magicalActions/Curse.js +126 -13
  232. package/lib/types/magicalActions/DominationRitual.d.ts +200 -145
  233. package/lib/types/magicalActions/DominationRitual.js +126 -13
  234. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +121 -135
  235. package/lib/types/magicalActions/ElvenMagicalSong.js +111 -13
  236. package/lib/types/magicalActions/GeodeRitual.d.ts +205 -180
  237. package/lib/types/magicalActions/GeodeRitual.js +135 -13
  238. package/lib/types/magicalActions/JesterTrick.d.ts +299 -177
  239. package/lib/types/magicalActions/JesterTrick.js +153 -13
  240. package/lib/types/magicalActions/MagicalDance.d.ts +125 -119
  241. package/lib/types/magicalActions/MagicalDance.js +113 -13
  242. package/lib/types/magicalActions/MagicalMelody.d.ts +116 -124
  243. package/lib/types/magicalActions/MagicalMelody.js +111 -13
  244. package/lib/types/magicalActions/MagicalRune.d.ts +300 -294
  245. package/lib/types/magicalActions/MagicalRune.js +278 -13
  246. package/lib/types/magicalActions/ZibiljaRitual.d.ts +396 -102
  247. package/lib/types/magicalActions/ZibiljaRitual.js +81 -13
  248. package/lib/types/magicalActions/_MusicTradition.d.ts +17 -30
  249. package/lib/types/magicalActions/_MusicTradition.js +43 -1
  250. package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +24 -10
  251. package/lib/types/prerequisites/ConditionalPrerequisites.js +9 -1
  252. package/lib/types/prerequisites/DisplayOption.d.ts +13 -32
  253. package/lib/types/prerequisites/DisplayOption.js +27 -1
  254. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +1338 -215
  255. package/lib/types/prerequisites/PrerequisiteGroups.js +160 -1
  256. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +107 -31
  257. package/lib/types/prerequisites/single/ActivatablePrerequisite.js +32 -1
  258. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.d.ts +1 -2
  259. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.js +4 -1
  260. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +18 -26
  261. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +24 -1
  262. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +16 -13
  263. package/lib/types/prerequisites/single/CulturePrerequisite.js +16 -1
  264. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +4 -39
  265. package/lib/types/prerequisites/single/EnhancementPrerequisite.js +12 -1
  266. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +17 -16
  267. package/lib/types/prerequisites/single/InfluencePrerequisite.js +19 -1
  268. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +18 -23
  269. package/lib/types/prerequisites/single/PactPrerequisite.js +24 -1
  270. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +20 -18
  271. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +25 -1
  272. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +16 -12
  273. package/lib/types/prerequisites/single/PublicationPrerequisite.js +15 -1
  274. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +17 -16
  275. package/lib/types/prerequisites/single/RacePrerequisite.js +19 -1
  276. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +51 -63
  277. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +80 -1
  278. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +26 -18
  279. package/lib/types/prerequisites/single/RatedPrerequisite.js +19 -1
  280. package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +17 -19
  281. package/lib/types/prerequisites/single/RatedSumPrerequisite.js +19 -1
  282. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +19 -9
  283. package/lib/types/prerequisites/single/RulePrerequisite.js +15 -1
  284. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +19 -10
  285. package/lib/types/prerequisites/single/SexPrerequisite.js +15 -1
  286. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +7 -8
  287. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +17 -1
  288. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +16 -13
  289. package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +16 -1
  290. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +16 -10
  291. package/lib/types/prerequisites/single/StatePrerequisite.js +15 -1
  292. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +19 -49
  293. package/lib/types/prerequisites/single/TextPrerequisite.js +53 -1
  294. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +37 -33
  295. package/lib/types/prerequisites/single/TraditionPrerequisite.js +42 -1
  296. package/lib/types/rule/CoreRule.d.ts +142 -310
  297. package/lib/types/rule/CoreRule.js +172 -13
  298. package/lib/types/rule/FocusRule.d.ts +54 -53
  299. package/lib/types/rule/FocusRule.js +37 -13
  300. package/lib/types/rule/FocusRule_Subject.d.ts +6 -29
  301. package/lib/types/rule/FocusRule_Subject.js +15 -13
  302. package/lib/types/rule/OptionalRule.d.ts +52 -41
  303. package/lib/types/rule/OptionalRule.js +28 -13
  304. package/lib/types/source/Publication.d.ts +50 -70
  305. package/lib/types/source/Publication.js +57 -13
  306. package/lib/types/source/_Erratum.d.ts +9 -23
  307. package/lib/types/source/_Erratum.js +19 -1
  308. package/lib/types/source/_PublicationRef.d.ts +161 -148
  309. package/lib/types/source/_PublicationRef.js +98 -1
  310. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +1034 -52
  311. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +36 -13
  312. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +917 -34
  313. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +33 -13
  314. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +917 -34
  315. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +33 -13
  316. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +917 -34
  317. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +33 -13
  318. package/lib/types/specialAbility/AncestorGlyph.d.ts +916 -38
  319. package/lib/types/specialAbility/AncestorGlyph.js +35 -13
  320. package/lib/types/specialAbility/BlessedTradition.d.ts +948 -147
  321. package/lib/types/specialAbility/BlessedTradition.js +131 -13
  322. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +980 -34
  323. package/lib/types/specialAbility/BrawlingSpecialAbility.js +32 -13
  324. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +918 -40
  325. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +33 -13
  326. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +1036 -45
  327. package/lib/types/specialAbility/CombatSpecialAbility.js +37 -13
  328. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +1035 -42
  329. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +37 -13
  330. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +980 -38
  331. package/lib/types/specialAbility/CommandSpecialAbility.js +32 -13
  332. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +915 -32
  333. package/lib/types/specialAbility/FamiliarSpecialAbility.js +30 -13
  334. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +915 -32
  335. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +30 -13
  336. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +917 -39
  337. package/lib/types/specialAbility/FatePointSpecialAbility.js +32 -13
  338. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +918 -44
  339. package/lib/types/specialAbility/GeneralSpecialAbility.js +33 -13
  340. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +915 -37
  341. package/lib/types/specialAbility/KarmaSpecialAbility.js +30 -13
  342. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +966 -36
  343. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +34 -13
  344. package/lib/types/specialAbility/LycantropicGift.d.ts +915 -32
  345. package/lib/types/specialAbility/LycantropicGift.js +30 -13
  346. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +966 -36
  347. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +34 -13
  348. package/lib/types/specialAbility/MagicalSign.d.ts +86 -39
  349. package/lib/types/specialAbility/MagicalSign.js +31 -13
  350. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +918 -43
  351. package/lib/types/specialAbility/MagicalSpecialAbility.js +33 -13
  352. package/lib/types/specialAbility/MagicalTradition.d.ts +938 -114
  353. package/lib/types/specialAbility/MagicalTradition.js +97 -13
  354. package/lib/types/specialAbility/PactGift.d.ts +992 -97
  355. package/lib/types/specialAbility/PactGift.js +118 -13
  356. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +917 -46
  357. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +41 -13
  358. package/lib/types/specialAbility/Sermon.d.ts +915 -32
  359. package/lib/types/specialAbility/Sermon.js +30 -13
  360. package/lib/types/specialAbility/SexSpecialAbility.d.ts +917 -34
  361. package/lib/types/specialAbility/SexSpecialAbility.js +32 -13
  362. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +915 -37
  363. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +30 -13
  364. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +964 -34
  365. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +32 -13
  366. package/lib/types/specialAbility/VampiricGift.d.ts +915 -37
  367. package/lib/types/specialAbility/VampiricGift.js +30 -13
  368. package/lib/types/specialAbility/Vision.d.ts +915 -32
  369. package/lib/types/specialAbility/Vision.js +30 -13
  370. package/lib/types/specialAbility/_Tradition.d.ts +5 -12
  371. package/lib/types/specialAbility/_Tradition.js +14 -1
  372. package/lib/types/specialAbility/sub/Language.d.ts +107 -117
  373. package/lib/types/specialAbility/sub/Language.js +87 -13
  374. package/lib/types/specialAbility/sub/Script.d.ts +61 -60
  375. package/lib/types/specialAbility/sub/Script.js +43 -13
  376. package/lib/types/specialAbility/sub/TradeSecret.d.ts +77 -48
  377. package/lib/types/specialAbility/sub/TradeSecret.js +36 -13
  378. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +5 -11
  379. package/lib/types/specialAbility/sub/_LanguageScript.js +15 -1
  380. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1135 -47
  381. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +36 -13
  382. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1135 -47
  383. package/lib/types/traditionArtifacts/AttireEnchantment.js +36 -13
  384. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1135 -47
  385. package/lib/types/traditionArtifacts/BowlEnchantment.js +36 -13
  386. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1136 -61
  387. package/lib/types/traditionArtifacts/CauldronEnchantment.js +41 -13
  388. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1135 -47
  389. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +36 -13
  390. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1147 -71
  391. package/lib/types/traditionArtifacts/DaggerRitual.js +71 -13
  392. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1135 -47
  393. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +36 -13
  394. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1135 -47
  395. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +36 -13
  396. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1135 -47
  397. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +36 -13
  398. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1135 -47
  399. package/lib/types/traditionArtifacts/OrbEnchantment.js +36 -13
  400. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1135 -47
  401. package/lib/types/traditionArtifacts/RingEnchantment.js +36 -13
  402. package/lib/types/traditionArtifacts/SickleRitual.d.ts +1135 -47
  403. package/lib/types/traditionArtifacts/SickleRitual.js +36 -13
  404. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1135 -52
  405. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +36 -13
  406. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1139 -57
  407. package/lib/types/traditionArtifacts/StaffEnchantment.js +41 -13
  408. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1135 -47
  409. package/lib/types/traditionArtifacts/ToyEnchantment.js +36 -13
  410. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1135 -47
  411. package/lib/types/traditionArtifacts/Trinkhornzauber.js +36 -13
  412. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1084 -42
  413. package/lib/types/traditionArtifacts/WandEnchantment.js +35 -13
  414. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1135 -47
  415. package/lib/types/traditionArtifacts/WeaponEnchantment.js +36 -13
  416. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +8 -52
  417. package/lib/types/traditionArtifacts/sub/AnimalShape.js +23 -13
  418. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +6 -28
  419. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +14 -13
  420. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +8 -40
  421. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +22 -13
  422. package/lib/types/traditionArtifacts/sub/Brew.d.ts +6 -28
  423. package/lib/types/traditionArtifacts/sub/Brew.js +14 -13
  424. package/package.json +19 -16
  425. package/schema/Advantage.schema.json +3 -3
  426. package/schema/AnimalDisease.schema.json +4 -4
  427. package/schema/Aspect.schema.json +1 -1
  428. package/schema/Blessing.schema.json +3 -3
  429. package/schema/Cantrip.schema.json +4 -4
  430. package/schema/Ceremony.schema.json +9 -61
  431. package/schema/CombatTechnique_Close.schema.json +2 -2
  432. package/schema/CombatTechnique_Ranged.schema.json +2 -2
  433. package/schema/Condition.schema.json +4 -16
  434. package/schema/Continent.schema.json +1 -1
  435. package/schema/Culture.schema.json +46 -50
  436. package/schema/Disadvantage.schema.json +3 -3
  437. package/schema/Disease.schema.json +2 -2
  438. package/schema/FamiliarsTrick.schema.json +45 -71
  439. package/schema/Lessons_Curriculum.schema.json +26 -36
  440. package/schema/LiturgicalChant.schema.json +9 -61
  441. package/schema/Locale.schema.json +1 -1
  442. package/schema/MetaCondition.schema.json +5 -17
  443. package/schema/Patron.schema.json +60 -71
  444. package/schema/PatronCategory.schema.json +1 -1
  445. package/schema/PersonalityTrait.schema.json +2 -2
  446. package/schema/Profession.schema.json +68 -62
  447. package/schema/Property.schema.json +1 -1
  448. package/schema/Race.schema.json +17 -17
  449. package/schema/Ritual.schema.json +8 -60
  450. package/schema/SexPractice.schema.json +1 -1
  451. package/schema/Skill.schema.json +7 -7
  452. package/schema/SkillModificationLevel.schema.json +3 -3
  453. package/schema/Spell.schema.json +8 -60
  454. package/schema/UI.schema.json +272 -0
  455. package/schema/_Activatable.schema.json +52 -60
  456. package/schema/_ActivatableSelectOptionCategory.schema.json +31 -35
  457. package/schema/_ActivatableSkill.schema.json +16 -0
  458. package/schema/_ActivatableSkillCastingTime.schema.json +5 -5
  459. package/schema/_ActivatableSkillCost.schema.json +7 -7
  460. package/schema/_ActivatableSkillEffect.schema.json +20 -51
  461. package/schema/_ActivatableSkillRange.schema.json +2 -2
  462. package/schema/_ActivatableSkillTargetCategory.schema.json +8 -8
  463. package/schema/_Blessed.schema.json +1 -1
  464. package/schema/_DiseasePoison.schema.json +31 -23
  465. package/schema/_Enhancements.schema.json +1 -1
  466. package/schema/_I18n.schema.json +1 -1
  467. package/schema/_Identifier.schema.json +31 -1
  468. package/schema/_IdentifierGroup.schema.json +4 -1
  469. package/schema/_Influence.schema.json +2 -2
  470. package/schema/_Prerequisite.schema.json +15 -15
  471. package/schema/_ResponsiveText.schema.json +6 -6
  472. package/schema/_SkillCheck.schema.json +3 -14
  473. package/schema/_Spellwork.schema.json +1 -1
  474. package/schema/equipment/EquipmentPackage.schema.json +1 -1
  475. package/schema/equipment/item/Armor.schema.json +5 -5
  476. package/schema/equipment/item/BandageOrRemedy.schema.json +2 -2
  477. package/schema/equipment/item/Book.schema.json +1 -1
  478. package/schema/equipment/item/CeremonialItem.schema.json +2 -2
  479. package/schema/equipment/item/Elixir.schema.json +5 -25
  480. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +1 -1
  481. package/schema/equipment/item/IlluminationLightSource.schema.json +4 -8
  482. package/schema/equipment/item/Jewelry.schema.json +1 -1
  483. package/schema/equipment/item/LuxuryGood.schema.json +2 -2
  484. package/schema/equipment/item/MusicalInstrument.schema.json +1 -1
  485. package/schema/equipment/item/Poison.schema.json +25 -17
  486. package/schema/equipment/item/ToolOfTheTrade.schema.json +1 -1
  487. package/schema/equipment/item/Weapon.schema.json +11 -11
  488. package/schema/equipment/item/_Item.schema.json +4 -4
  489. package/schema/equipment/item/_MeleeWeapon.schema.json +3 -7
  490. package/schema/equipment/item/_RangedWeapon.schema.json +5 -5
  491. package/schema/equipment/item/_Weapon.schema.json +2 -2
  492. package/schema/equipment/item/sub/ArmorType.schema.json +1 -1
  493. package/schema/magicalActions/AnimistPower.schema.json +10 -36
  494. package/schema/magicalActions/Curse.schema.json +5 -31
  495. package/schema/magicalActions/DominationRitual.schema.json +6 -32
  496. package/schema/magicalActions/ElvenMagicalSong.schema.json +4 -17
  497. package/schema/magicalActions/GeodeRitual.schema.json +7 -59
  498. package/schema/magicalActions/JesterTrick.schema.json +7 -59
  499. package/schema/magicalActions/MagicalDance.schema.json +7 -33
  500. package/schema/magicalActions/MagicalMelody.schema.json +7 -33
  501. package/schema/magicalActions/MagicalRune.schema.json +53 -146
  502. package/schema/magicalActions/ZibiljaRitual.schema.json +7 -59
  503. package/schema/magicalActions/_MusicTradition.schema.json +1 -1
  504. package/schema/magicalActions/_SkillReference.schema.json +2 -24
  505. package/schema/prerequisites/ConditionalPrerequisites.schema.json +1 -1
  506. package/schema/prerequisites/DisplayOption.schema.json +1 -1
  507. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +1 -1
  508. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +2 -2
  509. package/schema/prerequisites/single/PublicationPrerequisite.schema.json +1 -2
  510. package/schema/prerequisites/single/RacePrerequisite.schema.json +1 -1
  511. package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +2 -2
  512. package/schema/prerequisites/single/TextPrerequisite.schema.json +4 -4
  513. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +4 -4
  514. package/schema/rule/CoreRule.schema.json +5 -5
  515. package/schema/rule/FocusRule.schema.json +1 -1
  516. package/schema/rule/OptionalRule.schema.json +1 -1
  517. package/schema/source/Publication.schema.json +2 -2
  518. package/schema/source/_PublicationRef.schema.json +9 -9
  519. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +2 -2
  520. package/schema/specialAbility/BlessedTradition.schema.json +74 -52
  521. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +2 -2
  522. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +155 -504
  523. package/schema/specialAbility/CommandSpecialAbility.schema.json +23 -20
  524. package/schema/specialAbility/FatePointSpecialAbility.schema.json +1 -1
  525. package/schema/specialAbility/GeneralSpecialAbility.schema.json +1 -1
  526. package/schema/specialAbility/KarmaSpecialAbility.schema.json +1 -1
  527. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +155 -504
  528. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +155 -504
  529. package/schema/specialAbility/MagicalSign.schema.json +2 -2
  530. package/schema/specialAbility/MagicalSpecialAbility.schema.json +1 -1
  531. package/schema/specialAbility/MagicalTradition.schema.json +8 -8
  532. package/schema/specialAbility/PactGift.schema.json +4 -4
  533. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +1 -1
  534. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +155 -504
  535. package/schema/specialAbility/VampiricGift.schema.json +1 -1
  536. package/schema/specialAbility/_Tradition.schema.json +1 -1
  537. package/schema/specialAbility/sub/Language.schema.json +4 -4
  538. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +1 -1
  539. package/schema/traditionArtifacts/AttireEnchantment.schema.json +1 -1
  540. package/schema/traditionArtifacts/BowlEnchantment.schema.json +1 -1
  541. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +2 -2
  542. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +1 -1
  543. package/schema/traditionArtifacts/DaggerRitual.schema.json +14 -18
  544. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +1 -1
  545. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +1 -1
  546. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +1 -1
  547. package/schema/traditionArtifacts/OrbEnchantment.schema.json +1 -1
  548. package/schema/traditionArtifacts/RingEnchantment.schema.json +1 -1
  549. package/schema/traditionArtifacts/SickleRitual.schema.json +1 -1
  550. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +2 -2
  551. package/schema/traditionArtifacts/StaffEnchantment.schema.json +2 -2
  552. package/schema/traditionArtifacts/ToyEnchantment.schema.json +1 -1
  553. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +1 -1
  554. package/schema/traditionArtifacts/WandEnchantment.schema.json +1 -1
  555. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +1 -1
  556. package/.prettierrc.yml +0 -3
  557. package/lib/cache/activatableSelectOptions.d.ts +0 -80
  558. package/lib/cache/activatableSelectOptions.js +0 -935
  559. package/lib/cache/ancestorBloodAdvantages.d.ts +0 -5
  560. package/lib/cache/ancestorBloodAdvantages.js +0 -18
  561. package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.d.ts +0 -20
  562. package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +0 -164
  563. package/lib/cache/newApplicationsAndUses.d.ts +0 -20
  564. package/lib/cache/newApplicationsAndUses.js +0 -126
  565. package/lib/cacheConfig.d.ts +0 -4
  566. package/lib/cacheConfig.js +0 -1
  567. package/lib/config/build.d.ts +0 -6
  568. package/lib/config/build.js +0 -8
  569. package/lib/config/cache.d.ts +0 -16
  570. package/lib/config/cache.js +0 -10
  571. package/lib/config/types.d.ts +0 -462
  572. package/lib/config/types.js +0 -306
  573. package/lib/errors.d.ts +0 -20
  574. package/lib/errors.js +0 -33
  575. package/lib/helpers/array.d.ts +0 -14
  576. package/lib/helpers/array.js +0 -15
  577. package/lib/helpers/i18n.d.ts +0 -1
  578. package/lib/helpers/i18n.js +0 -1
  579. package/lib/helpers/io.d.ts +0 -29
  580. package/lib/helpers/io.js +0 -51
  581. package/lib/helpers/objectPath.d.ts +0 -13
  582. package/lib/helpers/objectPath.js +0 -3
  583. package/lib/helpers/pair.d.ts +0 -20
  584. package/lib/helpers/pair.js +0 -20
  585. package/lib/helpers/result.d.ts +0 -57
  586. package/lib/helpers/result.js +0 -45
  587. package/lib/rendering/UI.d.ts +0 -14
  588. package/lib/rendering/UI.js +0 -28
  589. package/lib/typeConfig.d.ts +0 -10
  590. package/lib/typeConfig.js +0 -1
  591. package/lib/types/CombatTechnique_Close.d.ts +0 -73
  592. package/lib/types/CombatTechnique_Close.js +0 -14
  593. package/lib/types/CombatTechnique_Ranged.d.ts +0 -66
  594. package/lib/types/CombatTechnique_Ranged.js +0 -14
  595. package/lib/types/Kirchenpraegung.d.ts +0 -10
  596. package/lib/types/Kirchenpraegung.js +0 -14
  597. package/lib/types/Lessons_Curriculum.d.ts +0 -236
  598. package/lib/types/Lessons_Curriculum.js +0 -14
  599. package/lib/types/Lessons_Guideline.d.ts +0 -34
  600. package/lib/types/Lessons_Guideline.js +0 -14
  601. package/lib/types/UI.d.ts +0 -1216
  602. package/lib/types/UI.js +0 -14
  603. package/lib/types/_LocaleMap.d.ts +0 -10
  604. package/lib/types/_LocaleMap.js +0 -1
  605. package/lib/types/_NonEmptyString.d.ts +0 -9
  606. package/lib/types/_NonEmptyString.js +0 -1
  607. package/lib/types/_SimpleReferences.d.ts +0 -134
  608. package/lib/types/_SimpleReferences.js +0 -1
  609. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +0 -7
  610. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +0 -14
  611. package/lib/types/equipment/item/Stationary.d.ts +0 -7
  612. package/lib/types/equipment/item/Stationary.js +0 -14
  613. package/lib/types/magicalActions/_SkillReference.d.ts +0 -11
  614. package/lib/types/magicalActions/_SkillReference.js +0 -1
  615. package/lib/validation/builders/integrity.d.ts +0 -56
  616. package/lib/validation/builders/integrity.js +0 -44
  617. package/lib/validation/builders/naming.d.ts +0 -15
  618. package/lib/validation/builders/naming.js +0 -17
  619. package/lib/validation/builders/schema.d.ts +0 -31
  620. package/lib/validation/builders/schema.js +0 -32
  621. package/lib/validation/filename.d.ts +0 -9
  622. package/lib/validation/filename.js +0 -10
  623. package/lib/validation/raw.d.ts +0 -8
  624. package/lib/validation/raw.js +0 -54
  625. package/lib/validation/schema.d.ts +0 -6
  626. package/lib/validation/schema.js +0 -32
@@ -1,4 +1,139 @@
1
1
  /**
2
2
  * @title Prerequisites
3
3
  */
4
- export {};
4
+ import { Array, EnumCase, GenEnum, GenIncludeIdentifier, GenTypeAlias, IncludeIdentifier, Integer, Object, Optional, Param, Required, String, TypeAlias, TypeArgument, } from "tsondb/schema/def";
5
+ import { NestedLocaleMap } from "./Locale.js";
6
+ import { DisplayOption } from "./prerequisites/DisplayOption.js";
7
+ import { AdvantageDisadvantagePrerequisiteGroup, AnimistPowerPrerequisiteGroup, ArcaneTraditionPrerequisiteGroup, DerivedCharacteristicPrerequisiteGroup, EnhancementPrerequisiteGroup, GeneralPrerequisiteGroup, GeodeRitualPrerequisiteGroup, InfluencePrerequisiteGroup, LanguagePrerequisiteGroup, LiturgyPrerequisiteGroup, PersonalityTraitPrerequisiteGroup, ProfessionPrerequisiteGroup, PublicationPrerequisiteGroup, SpellworkPrerequisiteGroup, } from "./prerequisites/PrerequisiteGroups.js";
8
+ const PrerequisiteGroup = GenTypeAlias(import.meta.url, {
9
+ name: "PrerequisiteGroup",
10
+ comment: "A prerequisite group has no influence on validation logic. It serves as a single unit for displaying purposes, where the source uses a prerequisites item that cannot be represented as a single prerequisite.",
11
+ parameters: [Param("T")],
12
+ type: T => Object({
13
+ list: Required({
14
+ type: Array(TypeArgument(T), { minItems: 2 }),
15
+ }),
16
+ translations: NestedLocaleMap(Required, "PrerequisiteGroupTranslation", Object({
17
+ text: Required({
18
+ type: String({ minLength: 1 }),
19
+ }),
20
+ })),
21
+ }),
22
+ });
23
+ const PrerequisitesDisjunction = GenTypeAlias(import.meta.url, {
24
+ name: "PrerequisitesDisjunction",
25
+ parameters: [Param("T")],
26
+ type: T => Object({
27
+ list: Required({
28
+ type: Array(TypeArgument(T), { minItems: 2 }),
29
+ }),
30
+ display_option: Optional({
31
+ type: IncludeIdentifier(DisplayOption),
32
+ }),
33
+ }),
34
+ });
35
+ const PrerequisitesElement = GenEnum(import.meta.url, {
36
+ name: "PrerequisitesElement",
37
+ parameters: [Param("T")],
38
+ values: T => ({
39
+ Single: EnumCase({ type: TypeArgument(T) }),
40
+ Disjunction: EnumCase({
41
+ type: GenIncludeIdentifier(PrerequisitesDisjunction, [TypeArgument(T)]),
42
+ }),
43
+ Group: EnumCase({
44
+ type: GenIncludeIdentifier(PrerequisiteGroup, [TypeArgument(T)]),
45
+ }),
46
+ }),
47
+ });
48
+ const PlainPrerequisites = GenTypeAlias(import.meta.url, {
49
+ name: "PlainPrerequisites",
50
+ parameters: [Param("T")],
51
+ type: T => Array(GenIncludeIdentifier(PrerequisitesElement, [TypeArgument(T)]), { minItems: 1 }),
52
+ });
53
+ const PrerequisiteForLevel = GenTypeAlias(import.meta.url, {
54
+ name: "PrerequisiteForLevel",
55
+ parameters: [Param("T")],
56
+ type: T => Object({
57
+ level: Required({
58
+ comment: "The level to which the prerequisite applies.",
59
+ type: Integer({ minimum: 1 }),
60
+ }),
61
+ prerequisite: Required({
62
+ comment: "The prerequisite.",
63
+ type: GenIncludeIdentifier(PrerequisitesElement, [TypeArgument(T)]),
64
+ }),
65
+ }),
66
+ });
67
+ const PrerequisitesForLevels = GenTypeAlias(import.meta.url, {
68
+ name: "PrerequisitesForLevels",
69
+ parameters: [Param("T")],
70
+ type: T => Array(GenIncludeIdentifier(PrerequisiteForLevel, [TypeArgument(T)]), {
71
+ minItems: 1,
72
+ }),
73
+ });
74
+ export const DerivedCharacteristicPrerequisites = TypeAlias(import.meta.url, {
75
+ name: "DerivedCharacteristicPrerequisites",
76
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [
77
+ IncludeIdentifier(DerivedCharacteristicPrerequisiteGroup),
78
+ ]),
79
+ });
80
+ export const PublicationPrerequisites = TypeAlias(import.meta.url, {
81
+ name: "PublicationPrerequisites",
82
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(PublicationPrerequisiteGroup)]),
83
+ });
84
+ export const PlainGeneralPrerequisites = TypeAlias(import.meta.url, {
85
+ name: "PlainGeneralPrerequisites",
86
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(GeneralPrerequisiteGroup)]),
87
+ });
88
+ export const GeneralPrerequisites = TypeAlias(import.meta.url, {
89
+ name: "GeneralPrerequisites",
90
+ type: () => GenIncludeIdentifier(PrerequisitesForLevels, [IncludeIdentifier(GeneralPrerequisiteGroup)]),
91
+ });
92
+ export const ProfessionPrerequisites = TypeAlias(import.meta.url, {
93
+ name: "ProfessionPrerequisites",
94
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(ProfessionPrerequisiteGroup)]),
95
+ });
96
+ export const AdvantageDisadvantagePrerequisites = TypeAlias(import.meta.url, {
97
+ name: "AdvantageDisadvantagePrerequisites",
98
+ type: () => GenIncludeIdentifier(PrerequisitesForLevels, [
99
+ IncludeIdentifier(AdvantageDisadvantagePrerequisiteGroup),
100
+ ]),
101
+ });
102
+ export const ArcaneTraditionPrerequisites = TypeAlias(import.meta.url, {
103
+ name: "ArcaneTraditionPrerequisites",
104
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(ArcaneTraditionPrerequisiteGroup)]),
105
+ });
106
+ export const PersonalityTraitPrerequisites = TypeAlias(import.meta.url, {
107
+ name: "PersonalityTraitPrerequisites",
108
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [
109
+ IncludeIdentifier(PersonalityTraitPrerequisiteGroup),
110
+ ]),
111
+ });
112
+ export const SpellworkPrerequisites = TypeAlias(import.meta.url, {
113
+ name: "SpellworkPrerequisites",
114
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(SpellworkPrerequisiteGroup)]),
115
+ });
116
+ export const LiturgyPrerequisites = TypeAlias(import.meta.url, {
117
+ name: "LiturgyPrerequisites",
118
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(LiturgyPrerequisiteGroup)]),
119
+ });
120
+ export const InfluencePrerequisites = TypeAlias(import.meta.url, {
121
+ name: "InfluencePrerequisites",
122
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(InfluencePrerequisiteGroup)]),
123
+ });
124
+ export const LanguagePrerequisites = TypeAlias(import.meta.url, {
125
+ name: "LanguagePrerequisites",
126
+ type: () => GenIncludeIdentifier(PrerequisitesForLevels, [IncludeIdentifier(LanguagePrerequisiteGroup)]),
127
+ });
128
+ export const AnimistPowerPrerequisites = TypeAlias(import.meta.url, {
129
+ name: "AnimistPowerPrerequisites",
130
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(AnimistPowerPrerequisiteGroup)]),
131
+ });
132
+ export const GeodeRitualPrerequisites = TypeAlias(import.meta.url, {
133
+ name: "GeodeRitualPrerequisites",
134
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(GeodeRitualPrerequisiteGroup)]),
135
+ });
136
+ export const EnhancementPrerequisites = TypeAlias(import.meta.url, {
137
+ name: "EnhancementPrerequisites",
138
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(EnhancementPrerequisiteGroup)]),
139
+ });
@@ -1,54 +1,13 @@
1
- import { NonEmptyString } from "./_NonEmptyString.js";
2
- /**
3
- * A text from the source that can be also displayed in small areas using a
4
- * compressed version.
5
- */
6
- export type ResponsiveText = {
7
- /**
8
- * The full text from the source.
9
- */
10
- full: NonEmptyString;
11
- /**
12
- * A compressed text for use in small areas (e.g. on character sheet).
13
- */
14
- compressed: NonEmptyString;
15
- };
16
- /**
17
- * A text from the source that can be also displayed in small areas using a
18
- * compressed version. It is used as a replacement for a generated text while
19
- * the generated text is still provided and should be used.
20
- */
21
- export type ResponsiveTextReplace = {
22
- /**
23
- * The full replacement string. It must contain `$1`, which is going to be
24
- * replaced with the generated string, so additional information can be
25
- * provided without duplicating concrete numeric values.
26
- * @minLength 1
27
- * @pattern \$1
28
- */
29
- full: string;
30
- /**
31
- * A compressed replacement string for use in small areas (e.g. on character
32
- * sheet). It must contain `$1`, which is going to be replaced with the
33
- * generated string, so additional information can be provided without
34
- * duplicating concrete numeric values.
35
- * @minLength 1
36
- * @pattern \$1
37
- */
38
- compressed: string;
39
- };
40
- /**
41
- * A text from the source that can be also displayed in small areas using a
42
- * compressed version, if available.
43
- */
44
- export type ResponsiveTextOptional = {
45
- /**
46
- * The full text from the source.
47
- */
48
- full: NonEmptyString;
49
- /**
50
- * A compressed text for use in small areas (e.g. on character sheet). If this
51
- * is not present, it should not appear in those areas.
52
- */
53
- compressed?: NonEmptyString;
54
- };
1
+ import { Object, String, TypeAlias } from "tsondb/schema/def";
2
+ export declare const ResponsiveText: TypeAlias<"ResponsiveText", Object<{
3
+ full: import("tsondb/schema/def").MemberDecl<String, true>;
4
+ compressed: import("tsondb/schema/def").MemberDecl<String, true>;
5
+ }>, []>;
6
+ export declare const ResponsiveTextReplace: TypeAlias<"ResponsiveTextReplace", Object<{
7
+ full: import("tsondb/schema/def").MemberDecl<String, true>;
8
+ compressed: import("tsondb/schema/def").MemberDecl<String, true>;
9
+ }>, []>;
10
+ export declare const ResponsiveTextOptional: TypeAlias<"ResponsiveTextOptional", Object<{
11
+ full: import("tsondb/schema/def").MemberDecl<String, true>;
12
+ compressed: import("tsondb/schema/def").MemberDecl<String, false>;
13
+ }>, []>;
@@ -1 +1,37 @@
1
- export {};
1
+ import { Object, Optional, Required, String, TypeAlias } from "tsondb/schema/def";
2
+ export const ResponsiveText = TypeAlias(import.meta.url, {
3
+ name: "ResponsiveText",
4
+ comment: "A text from the source that can be also displayed in small areas using a compressed version.",
5
+ type: () => Object({
6
+ full: Required({ comment: "The full text from the source.", type: String({ minLength: 1 }) }),
7
+ compressed: Required({
8
+ comment: "A compressed text for use in small areas (e.g. on character sheet).",
9
+ type: String({ minLength: 1 }),
10
+ }),
11
+ }),
12
+ });
13
+ export const ResponsiveTextReplace = TypeAlias(import.meta.url, {
14
+ name: "ResponsiveTextReplace",
15
+ comment: "A text from the source that can be also displayed in small areas using a compressed version. It is used as a replacement for a generated text while the generated text is still provided and should be used.",
16
+ type: () => Object({
17
+ full: Required({
18
+ comment: "The full replacement string. It must contain `$1`, which is going to be replaced with the generated string, so additional information can be provided without duplicating concrete numeric values.",
19
+ type: String({ minLength: 1, pattern: /\$1/ }),
20
+ }),
21
+ compressed: Required({
22
+ comment: "A compressed replacement string for use in small areas (e.g. on character sheet). It must contain `$1`, which is going to be replaced with the generated string, so additional information can be provided without duplicating concrete numeric values.",
23
+ type: String({ minLength: 1, pattern: /\$1/ }),
24
+ }),
25
+ }),
26
+ });
27
+ export const ResponsiveTextOptional = TypeAlias(import.meta.url, {
28
+ name: "ResponsiveTextOptional",
29
+ comment: "A text from the source that can be also displayed in small areas using a compressed version, if available.",
30
+ type: () => Object({
31
+ full: Required({ comment: "The full text from the source.", type: String({ minLength: 1 }) }),
32
+ compressed: Optional({
33
+ comment: "A compressed text for use in small areas (e.g. on character sheet). If this is not present, it should not appear in those areas.",
34
+ type: String({ minLength: 1 }),
35
+ }),
36
+ }),
37
+ });
@@ -1,7 +1,5 @@
1
- /**
2
- * @main BinarySex
3
- */
4
- /**
5
- * @title Binary Sex
6
- */
7
- export type BinarySex = "Male" | "Female";
1
+ import { Enum, EnumCase } from "tsondb/schema/def";
2
+ export declare const BinarySex: Enum<"BinarySex", {
3
+ Male: EnumCase<null>;
4
+ Female: EnumCase<null>;
5
+ }, []>;
package/lib/types/_Sex.js CHANGED
@@ -1,4 +1,8 @@
1
- /**
2
- * @main BinarySex
3
- */
4
- export {};
1
+ import { Enum, EnumCase } from "tsondb/schema/def";
2
+ export const BinarySex = Enum(import.meta.url, {
3
+ name: "BinarySex",
4
+ values: () => ({
5
+ Male: EnumCase({ type: null }),
6
+ Female: EnumCase({ type: null }),
7
+ }),
8
+ });
@@ -1,15 +1,10 @@
1
- import { AttributeReference } from "./_SimpleReferences.js";
2
- /**
3
- * The attributes' identifiers of the skill check.
4
- * @title Skill Check
5
- */
6
- export type SkillCheck = [
7
- AttributeReference,
8
- AttributeReference,
9
- AttributeReference
10
- ];
11
- /**
12
- * A specific value that represents a penalty for the associated skill check.
13
- * @title Skill Check Penalty
14
- */
15
- export type SkillCheckPenalty = "Spirit" | "HalfOfSpirit" | "Toughness" | "HigherOfSpiritAndToughness" | "SummoningDifficulty" | "CreationDifficulty";
1
+ import { Array, Enum, EnumCase, TypeAlias } from "tsondb/schema/def";
2
+ export declare const SkillCheck: TypeAlias<"SkillCheck", Array<import("tsondb/schema/def").ReferenceIdentifierType>, []>;
3
+ export declare const SkillCheckPenalty: Enum<"SkillCheckPenalty", {
4
+ Spirit: EnumCase<null>;
5
+ HalfOfSpirit: EnumCase<null>;
6
+ Toughness: EnumCase<null>;
7
+ HigherOfSpiritAndToughness: EnumCase<null>;
8
+ SummoningDifficulty: EnumCase<null>;
9
+ CreationDifficulty: EnumCase<null>;
10
+ }, []>;
@@ -1 +1,34 @@
1
- export {};
1
+ import { Array, Enum, EnumCase, TypeAlias } from "tsondb/schema/def";
2
+ import { AttributeIdentifier } from "./_Identifier.js";
3
+ export const SkillCheck = TypeAlias(import.meta.url, {
4
+ name: "SkillCheck",
5
+ comment: "The attributes’ identifiers of the skill check.",
6
+ type: () => Array(AttributeIdentifier(), {
7
+ minItems: 3,
8
+ maxItems: 3,
9
+ }),
10
+ });
11
+ export const SkillCheckPenalty = Enum(import.meta.url, {
12
+ name: "SkillCheckPenalty",
13
+ comment: "A specific value that represents a penalty for the associated skill check.",
14
+ values: () => ({
15
+ Spirit: EnumCase({
16
+ type: null,
17
+ }),
18
+ HalfOfSpirit: EnumCase({
19
+ type: null,
20
+ }),
21
+ Toughness: EnumCase({
22
+ type: null,
23
+ }),
24
+ HigherOfSpiritAndToughness: EnumCase({
25
+ type: null,
26
+ }),
27
+ SummoningDifficulty: EnumCase({
28
+ type: null,
29
+ }),
30
+ CreationDifficulty: EnumCase({
31
+ type: null,
32
+ }),
33
+ }),
34
+ });
@@ -1,18 +1,5 @@
1
- import { MagicalTraditionIdentifier } from "./_Identifier.js";
2
- /**
3
- * The tradition(s) the ritual is available for. It may be *generally*
4
- * available to all traditions or it may be only familiar in specific
5
- * traditions.
6
- */
7
- export type Traditions = {
8
- tag: "General";
9
- general: {};
10
- } | {
11
- tag: "Specific";
12
- specific: SpecificTraditions;
13
- };
14
- /**
15
- * A list of specific traditions.
16
- * @minItems 1
17
- */
18
- export type SpecificTraditions = MagicalTraditionIdentifier[];
1
+ import { Array, Enum, EnumCase } from "tsondb/schema/def";
2
+ export declare const SpellworkTraditions: Enum<"SpellworkTraditions", {
3
+ General: EnumCase<null>;
4
+ Specific: EnumCase<Array<import("tsondb/schema/def").ReferenceIdentifierType>>;
5
+ }, []>;
@@ -1 +1,13 @@
1
- export {};
1
+ import { Array, Enum, EnumCase } from "tsondb/schema/def";
2
+ import { MagicalTraditionIdentifier } from "./_Identifier.js";
3
+ export const SpellworkTraditions = Enum(import.meta.url, {
4
+ name: "SpellworkTraditions",
5
+ comment: "The tradition(s) the spell or ritual is available for. It may be *generally* available to all traditions or it may be only familiar in specific traditions.",
6
+ values: () => ({
7
+ General: EnumCase({ type: null }),
8
+ Specific: EnumCase({
9
+ comment: "A list of specific traditions.",
10
+ type: Array(MagicalTraditionIdentifier(), { minItems: 1 }),
11
+ }),
12
+ }),
13
+ });
@@ -1,51 +1,80 @@
1
- /**
2
- * @main EquipmentPackage
3
- */
4
- import { TypeConfig } from "../../typeConfig.js";
5
- import { EquipmentIdentifier } from "../_IdentifierGroup.js";
6
- import { LocaleMap } from "../_LocaleMap.js";
7
- import { NonEmptyString } from "../_NonEmptyString.js";
8
- import { PublicationRefs } from "../source/_PublicationRef.js";
9
- /**
10
- * @title Equipment Package
11
- */
12
- export type EquipmentPackage = {
13
- /**
14
- * The equipment package's identifier. An unique, increasing integer.
15
- * @integer
16
- * @minimum 1
17
- */
18
- id: number;
19
- /**
20
- * All items in the package. You have to provide the item (template)
21
- * identifier and you can optionally provide the number of how often an item
22
- * is included in the package.
23
- * @minItems 2
24
- */
25
- items: EquipmentPackageItem[];
26
- src: PublicationRefs;
27
- /**
28
- * All translations for the entry, identified by IETF language tag (BCP47).
29
- */
30
- translations: LocaleMap<EquipmentPackageTranslation>;
31
- };
32
- export type EquipmentPackageItem = {
33
- /**
34
- * The item's identifier.
35
- */
36
- id: EquipmentIdentifier;
37
- /**
38
- * The number of how often the item is included in the package.
39
- * @integer
40
- * @minimum 2
41
- * @default 1
42
- */
43
- number?: number;
44
- };
45
- export type EquipmentPackageTranslation = {
46
- /**
47
- * The name of the equipment package.
48
- */
49
- name: NonEmptyString;
50
- };
51
- export declare const config: TypeConfig<EquipmentPackage, EquipmentPackage["id"], "EquipmentPackage">;
1
+ import { Array, Entity, IncludeIdentifier, Integer, Object, String, TypeAlias } from "tsondb/schema/def";
2
+ export declare const EquipmentPackage: Entity<"EquipmentPackage", {
3
+ items: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"EquipmentPackageItem", Object<{
4
+ id: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"EquipmentIdentifier", {
5
+ Ammunition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
6
+ Animal: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
7
+ AnimalCare: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
8
+ Armor: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
9
+ BandageOrRemedy: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
10
+ Book: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
11
+ CeremonialItem: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
12
+ Clothes: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
13
+ Container: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
14
+ Elixir: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
15
+ EquipmentOfBlessedOnes: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
16
+ GemOrPreciousStone: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
17
+ IlluminationLightSource: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
18
+ IlluminationRefillsOrSupplies: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
19
+ Jewelry: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
20
+ Liebesspielzeug: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
21
+ LuxuryGood: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
22
+ MagicalArtifact: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
23
+ MusicalInstrument: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
24
+ OrienteeringAid: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
25
+ Poison: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
26
+ RopeOrChain: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
27
+ Stationary: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
28
+ ThievesTool: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
29
+ ToolOfTheTrade: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
30
+ TravelGearOrTool: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
31
+ Vehicle: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
32
+ Weapon: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
33
+ WeaponAccessory: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
34
+ }, []>>, true>;
35
+ number: import("tsondb/schema/def").MemberDecl<Integer, false>;
36
+ }>, []>>>, false>;
37
+ src: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"PublicationRefs", Array<IncludeIdentifier<[], TypeAlias<"PublicationRef", Object<{
38
+ id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
39
+ occurrences: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"Occurrence", {
40
+ initial: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"InitialOccurrence", Object<{
41
+ printing: import("tsondb/schema/def").MemberDecl<Integer, false>;
42
+ pages: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"PageRange", Object<{
43
+ first_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"Page", {
44
+ InsideCoverFront: import("tsondb/schema/def").EnumCaseDecl<null>;
45
+ InsideCoverBack: import("tsondb/schema/def").EnumCaseDecl<null>;
46
+ Numbered: import("tsondb/schema/def").EnumCaseDecl<Integer>;
47
+ }, []>>, true>;
48
+ last_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"Page", {
49
+ InsideCoverFront: import("tsondb/schema/def").EnumCaseDecl<null>;
50
+ InsideCoverBack: import("tsondb/schema/def").EnumCaseDecl<null>;
51
+ Numbered: import("tsondb/schema/def").EnumCaseDecl<Integer>;
52
+ }, []>>, false>;
53
+ }>, []>>>, true>;
54
+ }>, []>>, true>;
55
+ revisions: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"Revision", {
56
+ Since: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], TypeAlias<"Since", Object<{
57
+ printing: import("tsondb/schema/def").MemberDecl<Integer, true>;
58
+ pages: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"PageRange", Object<{
59
+ first_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"Page", {
60
+ InsideCoverFront: import("tsondb/schema/def").EnumCaseDecl<null>;
61
+ InsideCoverBack: import("tsondb/schema/def").EnumCaseDecl<null>;
62
+ Numbered: import("tsondb/schema/def").EnumCaseDecl<Integer>;
63
+ }, []>>, true>;
64
+ last_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"Page", {
65
+ InsideCoverFront: import("tsondb/schema/def").EnumCaseDecl<null>;
66
+ InsideCoverBack: import("tsondb/schema/def").EnumCaseDecl<null>;
67
+ Numbered: import("tsondb/schema/def").EnumCaseDecl<Integer>;
68
+ }, []>>, false>;
69
+ }>, []>>>, true>;
70
+ }>, []>>>;
71
+ Deprecated: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], TypeAlias<"Deprecation", Object<{
72
+ printing: import("tsondb/schema/def").MemberDecl<Integer, true>;
73
+ }>, []>>>;
74
+ }, []>>>, false>;
75
+ }>, true>;
76
+ }>, []>>>, []>>, true>;
77
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"EquipmentPackageTranslation", {
78
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
79
+ }>, true>;
80
+ }, undefined>;
@@ -1,14 +1,35 @@
1
- /**
2
- * @main EquipmentPackage
3
- */
4
- import { todo } from "../../validation/builders/integrity.js";
5
- import { validateEntityFileName } from "../../validation/builders/naming.js";
6
- import { createSchemaValidator } from "../../validation/builders/schema.js";
7
- import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
- export const config = {
1
+ import { Array, Entity, IncludeIdentifier, Integer, Object, Optional, Required, String, TypeAlias, } from "tsondb/schema/def";
2
+ import { EquipmentIdentifier } from "../_IdentifierGroup.js";
3
+ import { NestedLocaleMap } from "../Locale.js";
4
+ import { src } from "../source/_PublicationRef.js";
5
+ export const EquipmentPackage = Entity(import.meta.url, {
9
6
  name: "EquipmentPackage",
10
- id: getFilenamePrefixAsNumericId,
11
- integrityValidator: todo("EquipmentPackage"),
12
- schemaValidator: createSchemaValidator(import.meta.url),
13
- fileNameValidator: validateEntityFileName,
14
- };
7
+ namePlural: "EquipmentPackages",
8
+ type: () => Object({
9
+ items: Optional({
10
+ comment: "All items in the package. You have to provide the item (template) identifier and you can optionally provide the number of how often an item is included in the package.",
11
+ type: Array(IncludeIdentifier(EquipmentPackageItem), { minItems: 2 }),
12
+ }),
13
+ src,
14
+ translations: NestedLocaleMap(Required, "EquipmentPackageTranslation", Object({
15
+ name: Required({
16
+ comment: "The equipment package’s name.",
17
+ type: String({ minLength: 1 }),
18
+ }),
19
+ })),
20
+ }),
21
+ displayName: {},
22
+ });
23
+ const EquipmentPackageItem = TypeAlias(import.meta.url, {
24
+ name: "EquipmentPackageItem",
25
+ type: () => Object({
26
+ id: Required({
27
+ comment: "The item’s identifier.",
28
+ type: IncludeIdentifier(EquipmentIdentifier),
29
+ }),
30
+ number: Optional({
31
+ comment: "The number of how often the item is included in the package.",
32
+ type: Integer({ minimum: 2 }),
33
+ }),
34
+ }),
35
+ });