optolith-database-schema 0.17.2 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/CHANGELOG.md +41 -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 +645 -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 +645 -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 +1941 -665
  67. package/lib/types/Profession.js +610 -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 +642 -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 +642 -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 +1599 -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 +1150 -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 +239 -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 +160 -1274
  133. package/lib/types/_Identifier.js +304 -1
  134. package/lib/types/_IdentifierGroup.d.ts +281 -29
  135. package/lib/types/_IdentifierGroup.js +343 -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 +82 -51
  151. package/lib/types/equipment/EquipmentPackage.js +34 -13
  152. package/lib/types/equipment/item/Ammunition.d.ts +71 -32
  153. package/lib/types/equipment/item/Ammunition.js +37 -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 +177 -37
  161. package/lib/types/equipment/item/BandageOrRemedy.js +31 -13
  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 +177 -7
  167. package/lib/types/equipment/item/Clothes.js +31 -13
  168. package/lib/types/equipment/item/ClothingPackage.d.ts +62 -0
  169. package/lib/types/equipment/item/ClothingPackage.js +21 -0
  170. package/lib/types/equipment/item/Container.d.ts +177 -7
  171. package/lib/types/equipment/item/Container.js +31 -13
  172. package/lib/types/equipment/item/Elixir.d.ts +102 -76
  173. package/lib/types/equipment/item/Elixir.js +66 -13
  174. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +170 -29
  175. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +28 -13
  176. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +72 -44
  177. package/lib/types/equipment/item/GemOrPreciousStone.js +41 -13
  178. package/lib/types/equipment/item/IlluminationLightSource.d.ts +186 -61
  179. package/lib/types/equipment/item/IlluminationLightSource.js +61 -13
  180. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +177 -0
  181. package/lib/types/equipment/item/IlluminationRefillOrSupply.js +32 -0
  182. package/lib/types/equipment/item/Jewelry.d.ts +73 -61
  183. package/lib/types/equipment/item/Jewelry.js +37 -13
  184. package/lib/types/equipment/item/Laboratory.d.ts +80 -0
  185. package/lib/types/equipment/item/Laboratory.js +28 -0
  186. package/lib/types/equipment/item/Liebesspielzeug.d.ts +177 -7
  187. package/lib/types/equipment/item/Liebesspielzeug.js +31 -13
  188. package/lib/types/equipment/item/LuxuryGood.d.ts +177 -37
  189. package/lib/types/equipment/item/LuxuryGood.js +31 -13
  190. package/lib/types/equipment/item/MagicalArtifact.d.ts +72 -40
  191. package/lib/types/equipment/item/MagicalArtifact.js +19 -13
  192. package/lib/types/equipment/item/MusicalInstrument.d.ts +174 -32
  193. package/lib/types/equipment/item/MusicalInstrument.js +27 -13
  194. package/lib/types/equipment/item/OrienteeringAid.d.ts +176 -7
  195. package/lib/types/equipment/item/OrienteeringAid.js +2 -14
  196. package/lib/types/equipment/item/Poison.d.ts +489 -354
  197. package/lib/types/equipment/item/Poison.js +388 -13
  198. package/lib/types/equipment/item/RopeOrChain.d.ts +176 -7
  199. package/lib/types/equipment/item/RopeOrChain.js +2 -14
  200. package/lib/types/equipment/item/Stationery.d.ts +176 -0
  201. package/lib/types/equipment/item/Stationery.js +2 -0
  202. package/lib/types/equipment/item/ThievesTool.d.ts +176 -7
  203. package/lib/types/equipment/item/ThievesTool.js +2 -14
  204. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +82 -61
  205. package/lib/types/equipment/item/ToolOfTheTrade.js +27 -13
  206. package/lib/types/equipment/item/TravelGearOrTool.d.ts +177 -7
  207. package/lib/types/equipment/item/TravelGearOrTool.js +31 -13
  208. package/lib/types/equipment/item/Vehicle.d.ts +71 -19
  209. package/lib/types/equipment/item/Vehicle.js +15 -13
  210. package/lib/types/equipment/item/Weapon.d.ts +223 -166
  211. package/lib/types/equipment/item/Weapon.js +153 -13
  212. package/lib/types/equipment/item/WeaponAccessory.d.ts +177 -7
  213. package/lib/types/equipment/item/WeaponAccessory.js +31 -13
  214. package/lib/types/equipment/item/_Herbary.d.ts +42 -16
  215. package/lib/types/equipment/item/_Herbary.js +36 -1
  216. package/lib/types/equipment/item/_Item.d.ts +317 -160
  217. package/lib/types/equipment/item/_Item.js +144 -1
  218. package/lib/types/equipment/item/_MeleeWeapon.d.ts +37 -105
  219. package/lib/types/equipment/item/_MeleeWeapon.js +92 -1
  220. package/lib/types/equipment/item/_RangedWeapon.d.ts +25 -106
  221. package/lib/types/equipment/item/_RangedWeapon.js +85 -1
  222. package/lib/types/equipment/item/_Weapon.d.ts +13 -57
  223. package/lib/types/equipment/item/_Weapon.js +49 -1
  224. package/lib/types/equipment/item/sub/ArmorType.d.ts +7 -37
  225. package/lib/types/equipment/item/sub/ArmorType.js +18 -13
  226. package/lib/types/equipment/item/sub/Reach.d.ts +6 -28
  227. package/lib/types/equipment/item/sub/Reach.js +14 -13
  228. package/lib/types/index.d.ts +150 -0
  229. package/lib/types/index.js +150 -0
  230. package/lib/types/magicalActions/AnimistPower.d.ts +299 -238
  231. package/lib/types/magicalActions/AnimistPower.js +182 -13
  232. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +6 -28
  233. package/lib/types/magicalActions/AnimistPower_Tribe.js +14 -13
  234. package/lib/types/magicalActions/Curse.d.ts +215 -162
  235. package/lib/types/magicalActions/Curse.js +126 -13
  236. package/lib/types/magicalActions/DominationRitual.d.ts +200 -145
  237. package/lib/types/magicalActions/DominationRitual.js +126 -13
  238. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +121 -135
  239. package/lib/types/magicalActions/ElvenMagicalSong.js +111 -13
  240. package/lib/types/magicalActions/GeodeRitual.d.ts +220 -180
  241. package/lib/types/magicalActions/GeodeRitual.js +135 -13
  242. package/lib/types/magicalActions/JesterTrick.d.ts +299 -177
  243. package/lib/types/magicalActions/JesterTrick.js +153 -13
  244. package/lib/types/magicalActions/MagicalDance.d.ts +125 -119
  245. package/lib/types/magicalActions/MagicalDance.js +113 -13
  246. package/lib/types/magicalActions/MagicalMelody.d.ts +116 -124
  247. package/lib/types/magicalActions/MagicalMelody.js +111 -13
  248. package/lib/types/magicalActions/MagicalRune.d.ts +300 -294
  249. package/lib/types/magicalActions/MagicalRune.js +278 -13
  250. package/lib/types/magicalActions/ZibiljaRitual.d.ts +411 -102
  251. package/lib/types/magicalActions/ZibiljaRitual.js +81 -13
  252. package/lib/types/magicalActions/_MusicTradition.d.ts +17 -30
  253. package/lib/types/magicalActions/_MusicTradition.js +43 -1
  254. package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +24 -10
  255. package/lib/types/prerequisites/ConditionalPrerequisites.js +9 -1
  256. package/lib/types/prerequisites/DisplayOption.d.ts +13 -32
  257. package/lib/types/prerequisites/DisplayOption.js +27 -1
  258. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +1342 -215
  259. package/lib/types/prerequisites/PrerequisiteGroups.js +160 -1
  260. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +108 -31
  261. package/lib/types/prerequisites/single/ActivatablePrerequisite.js +32 -1
  262. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.d.ts +1 -2
  263. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.js +4 -1
  264. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +18 -26
  265. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +24 -1
  266. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +16 -13
  267. package/lib/types/prerequisites/single/CulturePrerequisite.js +16 -1
  268. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +4 -39
  269. package/lib/types/prerequisites/single/EnhancementPrerequisite.js +12 -1
  270. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +17 -16
  271. package/lib/types/prerequisites/single/InfluencePrerequisite.js +19 -1
  272. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +18 -23
  273. package/lib/types/prerequisites/single/PactPrerequisite.js +24 -1
  274. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +20 -18
  275. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +25 -1
  276. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +16 -12
  277. package/lib/types/prerequisites/single/PublicationPrerequisite.js +15 -1
  278. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +17 -16
  279. package/lib/types/prerequisites/single/RacePrerequisite.js +19 -1
  280. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +51 -63
  281. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +80 -1
  282. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +26 -18
  283. package/lib/types/prerequisites/single/RatedPrerequisite.js +19 -1
  284. package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +17 -19
  285. package/lib/types/prerequisites/single/RatedSumPrerequisite.js +19 -1
  286. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +19 -9
  287. package/lib/types/prerequisites/single/RulePrerequisite.js +15 -1
  288. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +19 -10
  289. package/lib/types/prerequisites/single/SexPrerequisite.js +15 -1
  290. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +7 -8
  291. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +17 -1
  292. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +16 -13
  293. package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +16 -1
  294. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +16 -10
  295. package/lib/types/prerequisites/single/StatePrerequisite.js +15 -1
  296. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +19 -49
  297. package/lib/types/prerequisites/single/TextPrerequisite.js +53 -1
  298. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +37 -33
  299. package/lib/types/prerequisites/single/TraditionPrerequisite.js +42 -1
  300. package/lib/types/rule/CoreRule.d.ts +142 -310
  301. package/lib/types/rule/CoreRule.js +172 -13
  302. package/lib/types/rule/FocusRule.d.ts +54 -53
  303. package/lib/types/rule/FocusRule.js +37 -13
  304. package/lib/types/rule/FocusRule_Subject.d.ts +6 -29
  305. package/lib/types/rule/FocusRule_Subject.js +15 -13
  306. package/lib/types/rule/OptionalRule.d.ts +52 -41
  307. package/lib/types/rule/OptionalRule.js +28 -13
  308. package/lib/types/source/Publication.d.ts +50 -70
  309. package/lib/types/source/Publication.js +57 -13
  310. package/lib/types/source/_Erratum.d.ts +9 -23
  311. package/lib/types/source/_Erratum.js +19 -1
  312. package/lib/types/source/_PublicationRef.d.ts +161 -148
  313. package/lib/types/source/_PublicationRef.js +98 -1
  314. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +1034 -52
  315. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +36 -13
  316. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +917 -34
  317. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +33 -13
  318. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +917 -34
  319. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +33 -13
  320. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +917 -34
  321. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +33 -13
  322. package/lib/types/specialAbility/AncestorGlyph.d.ts +916 -38
  323. package/lib/types/specialAbility/AncestorGlyph.js +35 -13
  324. package/lib/types/specialAbility/BlessedTradition.d.ts +948 -147
  325. package/lib/types/specialAbility/BlessedTradition.js +131 -13
  326. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +980 -34
  327. package/lib/types/specialAbility/BrawlingSpecialAbility.js +32 -13
  328. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +918 -40
  329. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +33 -13
  330. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +1036 -45
  331. package/lib/types/specialAbility/CombatSpecialAbility.js +37 -13
  332. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +1035 -42
  333. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +37 -13
  334. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +980 -38
  335. package/lib/types/specialAbility/CommandSpecialAbility.js +32 -13
  336. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +915 -32
  337. package/lib/types/specialAbility/FamiliarSpecialAbility.js +30 -13
  338. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +915 -32
  339. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +30 -13
  340. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +917 -39
  341. package/lib/types/specialAbility/FatePointSpecialAbility.js +32 -13
  342. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +918 -44
  343. package/lib/types/specialAbility/GeneralSpecialAbility.js +33 -13
  344. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +915 -37
  345. package/lib/types/specialAbility/KarmaSpecialAbility.js +30 -13
  346. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +966 -36
  347. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +34 -13
  348. package/lib/types/specialAbility/LycantropicGift.d.ts +915 -32
  349. package/lib/types/specialAbility/LycantropicGift.js +30 -13
  350. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +966 -36
  351. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +34 -13
  352. package/lib/types/specialAbility/MagicalSign.d.ts +86 -39
  353. package/lib/types/specialAbility/MagicalSign.js +31 -13
  354. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +918 -43
  355. package/lib/types/specialAbility/MagicalSpecialAbility.js +33 -13
  356. package/lib/types/specialAbility/MagicalTradition.d.ts +938 -114
  357. package/lib/types/specialAbility/MagicalTradition.js +97 -13
  358. package/lib/types/specialAbility/PactGift.d.ts +992 -97
  359. package/lib/types/specialAbility/PactGift.js +118 -13
  360. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +917 -46
  361. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +41 -13
  362. package/lib/types/specialAbility/Sermon.d.ts +915 -32
  363. package/lib/types/specialAbility/Sermon.js +30 -13
  364. package/lib/types/specialAbility/SexSpecialAbility.d.ts +917 -34
  365. package/lib/types/specialAbility/SexSpecialAbility.js +32 -13
  366. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +915 -37
  367. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +30 -13
  368. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +964 -34
  369. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +32 -13
  370. package/lib/types/specialAbility/VampiricGift.d.ts +915 -37
  371. package/lib/types/specialAbility/VampiricGift.js +30 -13
  372. package/lib/types/specialAbility/Vision.d.ts +915 -32
  373. package/lib/types/specialAbility/Vision.js +30 -13
  374. package/lib/types/specialAbility/_Tradition.d.ts +5 -12
  375. package/lib/types/specialAbility/_Tradition.js +14 -1
  376. package/lib/types/specialAbility/sub/Language.d.ts +107 -117
  377. package/lib/types/specialAbility/sub/Language.js +87 -13
  378. package/lib/types/specialAbility/sub/Script.d.ts +61 -60
  379. package/lib/types/specialAbility/sub/Script.js +43 -13
  380. package/lib/types/specialAbility/sub/TradeSecret.d.ts +77 -48
  381. package/lib/types/specialAbility/sub/TradeSecret.js +36 -13
  382. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +5 -11
  383. package/lib/types/specialAbility/sub/_LanguageScript.js +15 -1
  384. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1141 -47
  385. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +36 -13
  386. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1141 -47
  387. package/lib/types/traditionArtifacts/AttireEnchantment.js +36 -13
  388. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1141 -47
  389. package/lib/types/traditionArtifacts/BowlEnchantment.js +36 -13
  390. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1142 -61
  391. package/lib/types/traditionArtifacts/CauldronEnchantment.js +41 -13
  392. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1141 -47
  393. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +36 -13
  394. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1153 -71
  395. package/lib/types/traditionArtifacts/DaggerRitual.js +71 -13
  396. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1141 -47
  397. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +36 -13
  398. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1141 -47
  399. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +36 -13
  400. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1141 -47
  401. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +36 -13
  402. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1141 -47
  403. package/lib/types/traditionArtifacts/OrbEnchantment.js +36 -13
  404. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1141 -47
  405. package/lib/types/traditionArtifacts/RingEnchantment.js +36 -13
  406. package/lib/types/traditionArtifacts/SickleRitual.d.ts +1141 -47
  407. package/lib/types/traditionArtifacts/SickleRitual.js +36 -13
  408. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1141 -52
  409. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +36 -13
  410. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1145 -57
  411. package/lib/types/traditionArtifacts/StaffEnchantment.js +41 -13
  412. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1141 -47
  413. package/lib/types/traditionArtifacts/ToyEnchantment.js +36 -13
  414. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1141 -47
  415. package/lib/types/traditionArtifacts/Trinkhornzauber.js +36 -13
  416. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1090 -42
  417. package/lib/types/traditionArtifacts/WandEnchantment.js +35 -13
  418. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1141 -47
  419. package/lib/types/traditionArtifacts/WeaponEnchantment.js +36 -13
  420. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +8 -52
  421. package/lib/types/traditionArtifacts/sub/AnimalShape.js +23 -13
  422. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +6 -28
  423. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +14 -13
  424. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +8 -40
  425. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +22 -13
  426. package/lib/types/traditionArtifacts/sub/Brew.d.ts +6 -28
  427. package/lib/types/traditionArtifacts/sub/Brew.js +14 -13
  428. package/package.json +19 -16
  429. package/schema/Advantage.schema.json +3 -3
  430. package/schema/AnimalDisease.schema.json +4 -4
  431. package/schema/Aspect.schema.json +1 -1
  432. package/schema/Blessing.schema.json +3 -3
  433. package/schema/Cantrip.schema.json +4 -4
  434. package/schema/Ceremony.schema.json +9 -61
  435. package/schema/CombatTechnique_Close.schema.json +2 -2
  436. package/schema/CombatTechnique_Ranged.schema.json +2 -2
  437. package/schema/Condition.schema.json +4 -16
  438. package/schema/Continent.schema.json +1 -1
  439. package/schema/Culture.schema.json +46 -50
  440. package/schema/Disadvantage.schema.json +3 -3
  441. package/schema/Disease.schema.json +2 -2
  442. package/schema/FamiliarsTrick.schema.json +45 -71
  443. package/schema/Lessons_Curriculum.schema.json +26 -36
  444. package/schema/LiturgicalChant.schema.json +9 -61
  445. package/schema/Locale.schema.json +1 -1
  446. package/schema/MetaCondition.schema.json +5 -17
  447. package/schema/Patron.schema.json +60 -71
  448. package/schema/PatronCategory.schema.json +1 -1
  449. package/schema/PersonalityTrait.schema.json +2 -2
  450. package/schema/Profession.schema.json +68 -62
  451. package/schema/Property.schema.json +1 -1
  452. package/schema/Race.schema.json +17 -17
  453. package/schema/Ritual.schema.json +8 -60
  454. package/schema/SexPractice.schema.json +1 -1
  455. package/schema/Skill.schema.json +7 -7
  456. package/schema/SkillModificationLevel.schema.json +3 -3
  457. package/schema/Spell.schema.json +8 -60
  458. package/schema/UI.schema.json +272 -0
  459. package/schema/_Activatable.schema.json +52 -60
  460. package/schema/_ActivatableSelectOptionCategory.schema.json +31 -35
  461. package/schema/_ActivatableSkill.schema.json +16 -0
  462. package/schema/_ActivatableSkillCastingTime.schema.json +5 -5
  463. package/schema/_ActivatableSkillCost.schema.json +7 -7
  464. package/schema/_ActivatableSkillEffect.schema.json +20 -51
  465. package/schema/_ActivatableSkillRange.schema.json +2 -2
  466. package/schema/_ActivatableSkillTargetCategory.schema.json +8 -8
  467. package/schema/_Blessed.schema.json +1 -1
  468. package/schema/_DiseasePoison.schema.json +31 -23
  469. package/schema/_Enhancements.schema.json +1 -1
  470. package/schema/_I18n.schema.json +1 -1
  471. package/schema/_Identifier.schema.json +31 -1
  472. package/schema/_IdentifierGroup.schema.json +4 -1
  473. package/schema/_Influence.schema.json +2 -2
  474. package/schema/_Prerequisite.schema.json +15 -15
  475. package/schema/_ResponsiveText.schema.json +6 -6
  476. package/schema/_SkillCheck.schema.json +3 -14
  477. package/schema/_Spellwork.schema.json +1 -1
  478. package/schema/equipment/EquipmentPackage.schema.json +1 -1
  479. package/schema/equipment/item/Armor.schema.json +5 -5
  480. package/schema/equipment/item/BandageOrRemedy.schema.json +2 -2
  481. package/schema/equipment/item/Book.schema.json +1 -1
  482. package/schema/equipment/item/CeremonialItem.schema.json +2 -2
  483. package/schema/equipment/item/Elixir.schema.json +5 -25
  484. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +1 -1
  485. package/schema/equipment/item/IlluminationLightSource.schema.json +4 -8
  486. package/schema/equipment/item/Jewelry.schema.json +1 -1
  487. package/schema/equipment/item/LuxuryGood.schema.json +2 -2
  488. package/schema/equipment/item/MusicalInstrument.schema.json +1 -1
  489. package/schema/equipment/item/Poison.schema.json +25 -17
  490. package/schema/equipment/item/ToolOfTheTrade.schema.json +1 -1
  491. package/schema/equipment/item/Weapon.schema.json +11 -11
  492. package/schema/equipment/item/_Item.schema.json +4 -4
  493. package/schema/equipment/item/_MeleeWeapon.schema.json +3 -7
  494. package/schema/equipment/item/_RangedWeapon.schema.json +5 -5
  495. package/schema/equipment/item/_Weapon.schema.json +2 -2
  496. package/schema/equipment/item/sub/ArmorType.schema.json +1 -1
  497. package/schema/magicalActions/AnimistPower.schema.json +10 -36
  498. package/schema/magicalActions/Curse.schema.json +5 -31
  499. package/schema/magicalActions/DominationRitual.schema.json +6 -32
  500. package/schema/magicalActions/ElvenMagicalSong.schema.json +4 -17
  501. package/schema/magicalActions/GeodeRitual.schema.json +7 -59
  502. package/schema/magicalActions/JesterTrick.schema.json +7 -59
  503. package/schema/magicalActions/MagicalDance.schema.json +7 -33
  504. package/schema/magicalActions/MagicalMelody.schema.json +7 -33
  505. package/schema/magicalActions/MagicalRune.schema.json +53 -146
  506. package/schema/magicalActions/ZibiljaRitual.schema.json +7 -59
  507. package/schema/magicalActions/_MusicTradition.schema.json +1 -1
  508. package/schema/magicalActions/_SkillReference.schema.json +2 -24
  509. package/schema/prerequisites/ConditionalPrerequisites.schema.json +1 -1
  510. package/schema/prerequisites/DisplayOption.schema.json +1 -1
  511. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +1 -1
  512. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +2 -2
  513. package/schema/prerequisites/single/PublicationPrerequisite.schema.json +1 -2
  514. package/schema/prerequisites/single/RacePrerequisite.schema.json +1 -1
  515. package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +2 -2
  516. package/schema/prerequisites/single/TextPrerequisite.schema.json +4 -4
  517. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +4 -4
  518. package/schema/rule/CoreRule.schema.json +5 -5
  519. package/schema/rule/FocusRule.schema.json +1 -1
  520. package/schema/rule/OptionalRule.schema.json +1 -1
  521. package/schema/source/Publication.schema.json +2 -2
  522. package/schema/source/_PublicationRef.schema.json +9 -9
  523. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +2 -2
  524. package/schema/specialAbility/BlessedTradition.schema.json +74 -52
  525. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +2 -2
  526. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +155 -504
  527. package/schema/specialAbility/CommandSpecialAbility.schema.json +23 -20
  528. package/schema/specialAbility/FatePointSpecialAbility.schema.json +1 -1
  529. package/schema/specialAbility/GeneralSpecialAbility.schema.json +1 -1
  530. package/schema/specialAbility/KarmaSpecialAbility.schema.json +1 -1
  531. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +155 -504
  532. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +155 -504
  533. package/schema/specialAbility/MagicalSign.schema.json +2 -2
  534. package/schema/specialAbility/MagicalSpecialAbility.schema.json +1 -1
  535. package/schema/specialAbility/MagicalTradition.schema.json +8 -8
  536. package/schema/specialAbility/PactGift.schema.json +4 -4
  537. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +1 -1
  538. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +155 -504
  539. package/schema/specialAbility/VampiricGift.schema.json +1 -1
  540. package/schema/specialAbility/_Tradition.schema.json +1 -1
  541. package/schema/specialAbility/sub/Language.schema.json +4 -4
  542. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +1 -1
  543. package/schema/traditionArtifacts/AttireEnchantment.schema.json +1 -1
  544. package/schema/traditionArtifacts/BowlEnchantment.schema.json +1 -1
  545. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +2 -2
  546. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +1 -1
  547. package/schema/traditionArtifacts/DaggerRitual.schema.json +14 -18
  548. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +1 -1
  549. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +1 -1
  550. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +1 -1
  551. package/schema/traditionArtifacts/OrbEnchantment.schema.json +1 -1
  552. package/schema/traditionArtifacts/RingEnchantment.schema.json +1 -1
  553. package/schema/traditionArtifacts/SickleRitual.schema.json +1 -1
  554. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +2 -2
  555. package/schema/traditionArtifacts/StaffEnchantment.schema.json +2 -2
  556. package/schema/traditionArtifacts/ToyEnchantment.schema.json +1 -1
  557. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +1 -1
  558. package/schema/traditionArtifacts/WandEnchantment.schema.json +1 -1
  559. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +1 -1
  560. package/.prettierrc.yml +0 -3
  561. package/lib/cache/activatableSelectOptions.d.ts +0 -80
  562. package/lib/cache/activatableSelectOptions.js +0 -935
  563. package/lib/cache/ancestorBloodAdvantages.d.ts +0 -5
  564. package/lib/cache/ancestorBloodAdvantages.js +0 -18
  565. package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.d.ts +0 -20
  566. package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +0 -164
  567. package/lib/cache/newApplicationsAndUses.d.ts +0 -20
  568. package/lib/cache/newApplicationsAndUses.js +0 -126
  569. package/lib/cacheConfig.d.ts +0 -4
  570. package/lib/cacheConfig.js +0 -1
  571. package/lib/config/build.d.ts +0 -6
  572. package/lib/config/build.js +0 -8
  573. package/lib/config/cache.d.ts +0 -16
  574. package/lib/config/cache.js +0 -10
  575. package/lib/config/types.d.ts +0 -462
  576. package/lib/config/types.js +0 -306
  577. package/lib/errors.d.ts +0 -20
  578. package/lib/errors.js +0 -33
  579. package/lib/helpers/array.d.ts +0 -14
  580. package/lib/helpers/array.js +0 -15
  581. package/lib/helpers/i18n.d.ts +0 -1
  582. package/lib/helpers/i18n.js +0 -1
  583. package/lib/helpers/io.d.ts +0 -29
  584. package/lib/helpers/io.js +0 -51
  585. package/lib/helpers/objectPath.d.ts +0 -13
  586. package/lib/helpers/objectPath.js +0 -3
  587. package/lib/helpers/pair.d.ts +0 -20
  588. package/lib/helpers/pair.js +0 -20
  589. package/lib/helpers/result.d.ts +0 -57
  590. package/lib/helpers/result.js +0 -45
  591. package/lib/rendering/UI.d.ts +0 -14
  592. package/lib/rendering/UI.js +0 -28
  593. package/lib/typeConfig.d.ts +0 -10
  594. package/lib/typeConfig.js +0 -1
  595. package/lib/types/CombatTechnique_Close.d.ts +0 -73
  596. package/lib/types/CombatTechnique_Close.js +0 -14
  597. package/lib/types/CombatTechnique_Ranged.d.ts +0 -66
  598. package/lib/types/CombatTechnique_Ranged.js +0 -14
  599. package/lib/types/Kirchenpraegung.d.ts +0 -10
  600. package/lib/types/Kirchenpraegung.js +0 -14
  601. package/lib/types/Lessons_Curriculum.d.ts +0 -236
  602. package/lib/types/Lessons_Curriculum.js +0 -14
  603. package/lib/types/Lessons_Guideline.d.ts +0 -34
  604. package/lib/types/Lessons_Guideline.js +0 -14
  605. package/lib/types/UI.d.ts +0 -1216
  606. package/lib/types/UI.js +0 -14
  607. package/lib/types/_LocaleMap.d.ts +0 -10
  608. package/lib/types/_LocaleMap.js +0 -1
  609. package/lib/types/_NonEmptyString.d.ts +0 -9
  610. package/lib/types/_NonEmptyString.js +0 -1
  611. package/lib/types/_SimpleReferences.d.ts +0 -134
  612. package/lib/types/_SimpleReferences.js +0 -1
  613. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +0 -7
  614. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +0 -14
  615. package/lib/types/equipment/item/Stationary.d.ts +0 -7
  616. package/lib/types/equipment/item/Stationary.js +0 -14
  617. package/lib/types/magicalActions/_SkillReference.d.ts +0 -11
  618. package/lib/types/magicalActions/_SkillReference.js +0 -1
  619. package/lib/validation/builders/integrity.d.ts +0 -56
  620. package/lib/validation/builders/integrity.js +0 -44
  621. package/lib/validation/builders/naming.d.ts +0 -15
  622. package/lib/validation/builders/naming.js +0 -17
  623. package/lib/validation/builders/schema.d.ts +0 -31
  624. package/lib/validation/builders/schema.js +0 -32
  625. package/lib/validation/filename.d.ts +0 -9
  626. package/lib/validation/filename.js +0 -10
  627. package/lib/validation/raw.d.ts +0 -8
  628. package/lib/validation/raw.js +0 -54
  629. package/lib/validation/schema.d.ts +0 -6
  630. package/lib/validation/schema.js +0 -32
package/CHANGELOG.md CHANGED
@@ -1,6 +1,46 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
3
+ All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
+
5
+ ## [0.18.2](https://github.com/elyukai/optolith-database-schema/compare/v0.18.1...v0.18.2) (2025-10-04)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * adjust for remaining incompatibilities with source data ([00a0efc](https://github.com/elyukai/optolith-database-schema/commit/00a0efc6d090171e83ff01236e8df146a120f71e))
11
+
12
+ ## [0.18.1](https://github.com/elyukai/optolith-database-schema/compare/v0.18.0...v0.18.1) (2025-10-03)
13
+
14
+ ## [0.18.0](https://github.com/elyukai/optolith-database-schema/compare/v0.17.2...v0.18.0) (2025-10-03)
15
+
16
+
17
+ ### ⚠ BREAKING CHANGES
18
+
19
+ * tsondb integration
20
+ * use identifier object instead of plain number for publication prerequisite identifier
21
+ * adjust naming for compiles languages that dont create namespaces per file
22
+ * add blessed tradition type as union type
23
+
24
+ ### Features
25
+
26
+ * add blessed tradition type as union type ([dd999c1](https://github.com/elyukai/optolith-database-schema/commit/dd999c1387d950fd27169c601f4653a1fd0273d6))
27
+ * add skill application identifier as possible select option identifier ([2523228](https://github.com/elyukai/optolith-database-schema/commit/25232282da57baf82d369bc80be703ae69df6f6d))
28
+ * add translation strings for prerequisites ([a031ad9](https://github.com/elyukai/optolith-database-schema/commit/a031ad93ea305c831fbb52498adecec3f9b3b2e1))
29
+ * adjust naming for compiles languages that dont create namespaces per file ([4236fa3](https://github.com/elyukai/optolith-database-schema/commit/4236fa38040bf034d27e942e66647462a1e15f3c))
30
+ * **swift:** add initializers to all structs ([fc79950](https://github.com/elyukai/optolith-database-schema/commit/fc79950428c62f0ca11d56299854f83a37d693c8))
31
+ * **swift:** add set of available locales and documentation for LocaleMap ([c247c06](https://github.com/elyukai/optolith-database-schema/commit/c247c067e4b38cf8b748fe1ab1228ecbf294b8cc))
32
+ * **swift:** do not generate ignored files ([6dd361a](https://github.com/elyukai/optolith-database-schema/commit/6dd361a16cea4488b4d7d34a86edbf673ea97d4b))
33
+ * **swift:** remove generation date header comment ([9db2fd5](https://github.com/elyukai/optolith-database-schema/commit/9db2fd59894a692a8443592e8247251f55913e73))
34
+ * tsondb integration ([619805c](https://github.com/elyukai/optolith-database-schema/commit/619805ccfb3771962cc5e987f80b51a5dcf56c09)), closes [#35](https://github.com/elyukai/optolith-database-schema/issues/35)
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * **swift:** add ignored LocaleMap type ([f80bbaa](https://github.com/elyukai/optolith-database-schema/commit/f80bbaa8289c9053ae31867564a072cf7bd506a0))
40
+ * **swift:** identifier objects' initializers must be public ([8f2be47](https://github.com/elyukai/optolith-database-schema/commit/8f2be474440a00c37d4aee8f6eb4cceba2dbf8ee))
41
+ * **swift:** LocaleMap initializer didnt initialize all properties ([f5167bb](https://github.com/elyukai/optolith-database-schema/commit/f5167bb56586e88d970cf893e5ea077bc41e1113))
42
+ * **swift:** remove unnecessary indentation in empty lines ([dbe1902](https://github.com/elyukai/optolith-database-schema/commit/dbe19027a05a9834fc00cc2fcb1892fca1fd74fe))
43
+ * use identifier object instead of plain number for publication prerequisite identifier ([bb7a688](https://github.com/elyukai/optolith-database-schema/commit/bb7a688b019fc95070bb7aaf4246a6d64d0de91a))
4
44
 
5
45
  ### [0.17.2](https://github.com/elyukai/optolith-database-schema/compare/v0.17.1...v0.17.2) (2024-10-06)
6
46
 
package/lib/main.d.ts CHANGED
@@ -1,101 +1,2 @@
1
- import type { Options as AjvOptions } from "ajv";
2
- import { CacheMap } from "./config/cache.js";
3
- import { TypeId, TypeMap } from "./config/types.js";
4
- import "./helpers/array.js";
5
- import { Result } from "./helpers/result.js";
6
- import { IntegrityError } from "./validation/builders/integrity.js";
7
- import { FileNameError } from "./validation/builders/naming.js";
8
- import { SchemaError } from "./validation/builders/schema.js";
9
- import { TypeValidationResult } from "./validation/raw.js";
10
- /**
11
- * Options for validating data files.
12
- */
13
- export type ValidationOptions = {
14
- /**
15
- * Whether to check the integrity of the data files. This includes checking
16
- * for referencial integrity (i.e. whether all referenced entities exist).
17
- * @default false
18
- */
19
- checkIntegrity?: boolean;
20
- /**
21
- * Ajv instance options. See https://ajv.js.org/options.html.
22
- */
23
- ajvOptions?: AjvOptions;
24
- };
25
- /**
26
- * A type validation may fail because of the data not matching the schema, the
27
- * file name not matching a pattern, or integrity issues.
28
- */
29
- export type TypeValidationError = IntegrityError | FileNameError | SchemaError;
30
- /**
31
- * A map of all valid entries, grouped by entity type.
32
- */
33
- export type ValidResults = {
34
- [K in keyof TypeMap]: [id: TypeId<K>, data: TypeMap[K]][];
35
- };
36
- /**
37
- * A map of all entries, grouped by entity type.
38
- */
39
- export type RawResults = {
40
- [K in keyof TypeMap]: TypeValidationResult<K>[];
41
- };
42
- /**
43
- * A dictionary of entity types and their data’s associated locations.
44
- */
45
- export type EntityDirectoryPaths = {
46
- [K in keyof TypeMap]: string;
47
- };
48
- type StrictResults = Result<ValidResults, Record<string, TypeValidationError[]>>;
49
- /**
50
- * If the database has no validation issues, returns the whole data set as a map
51
- * of entity types to their data. If there are any errors, only the errors will
52
- * be returned instead.
53
- * @param entityDirPaths THe paths to the directories containing the data to be
54
- * validated.
55
- * @param options Configuration options for the validation.
56
- * @returns Either the whole data set or the errors.
57
- */
58
- export declare const getAllValidDataOrErrors: (entityDirPaths: EntityDirectoryPaths, options?: ValidationOptions) => Promise<StrictResults>;
59
- /**
60
- * Returns all valid data as a map of entity types to their data.
61
- * @param entityDirPaths THe paths to the directories containing the data to be
62
- * validated.
63
- * @param options Configuration options for the validation.
64
- * @returns The valid data.
65
- */
66
- export declare const getAllValidData: (entityDirPaths: EntityDirectoryPaths, options?: ValidationOptions) => Promise<ValidResults>;
67
- /**
68
- * Returns all data as a map of entity types to their validation results.
69
- * @param entityDirPaths THe paths to the directories containing the data to be
70
- * validated.
71
- * @param options Configuration options for the validation.
72
- * @returns The validation results.
73
- */
74
- export declare const getRawResults: (entityDirPaths: EntityDirectoryPaths, options?: ValidationOptions) => Promise<RawResults>;
75
- /**
76
- * A dictionary of cache types and their associated location.
77
- */
78
- export type CachePaths = {
79
- [K in keyof CacheMap]: string;
80
- };
81
- export type CacheOptions = {
82
- /**
83
- * Whether to pretty-print the JSON. Default is `false`.
84
- */
85
- pretty?: boolean;
86
- };
87
- /**
88
- * Builds the cache and writes it to the specified paths in JSON format.
89
- * @param cachePaths The absolute paths to write each cache to.
90
- * @param validResults The data to build the cache from. Usually the result of
91
- * `getAllValidData`.
92
- * @param options Configuration options for building the cache.
93
- */
94
- export declare const buildCache: (cachePaths: CachePaths, validResults: ValidResults, options?: CacheOptions) => Promise<void>;
95
- /**
96
- * Reads the cache from the specified paths in JSON format.
97
- * @param cachePaths The absolute paths to read each cache from.
98
- * @returns
99
- */
100
- export declare const getCache: (cachePaths: CachePaths) => Promise<CacheMap>;
101
- export {};
1
+ import { Schema } from "tsondb/schema";
2
+ export declare const schema: Schema;
package/lib/main.js CHANGED
@@ -1,106 +1,361 @@
1
- import { mkdir, readFile, writeFile } from "node:fs/promises";
2
- import { dirname } from "node:path";
3
- import { cacheMap } from "./config/cache.js";
4
- import "./helpers/array.js";
5
- import { mapSecond } from "./helpers/pair.js";
6
- import { Result, error, isError, isOk, ok } from "./helpers/result.js";
7
- import { getRawValidationResults, } from "./validation/raw.js";
8
- const rawResultMapToResult = (rawResultMap) => rawResultMap.reduce((result, [typeName, typeResults]) => typeResults.reduce((outerResult, [filePath, fileResult]) => {
9
- if (isOk(outerResult) && isOk(fileResult)) {
10
- return ok({
11
- ...outerResult.value,
12
- [typeName]: [...(outerResult.value[typeName] ?? []), fileResult.value],
13
- });
14
- }
15
- else if (isOk(outerResult) && isError(fileResult)) {
16
- return error({
17
- [filePath]: fileResult.error,
18
- });
19
- }
20
- else if (isError(outerResult) && isError(fileResult)) {
21
- return error({
22
- ...outerResult.error,
23
- [filePath]: fileResult.error,
24
- });
25
- }
26
- else {
27
- return outerResult;
28
- }
29
- }, result), ok({}));
30
- const filterResultMapByValidData = (rawResultMap) => rawResultMap
31
- .map(mapSecond((typeResults) => typeResults
32
- .filter((typeResult) => Result.isOk(typeResult[1]))
33
- .map(fileResult => fileResult[1].value)))
34
- .objectFromEntries();
35
- /**
36
- * If the database has no validation issues, returns the whole data set as a map
37
- * of entity types to their data. If there are any errors, only the errors will
38
- * be returned instead.
39
- * @param entityDirPaths THe paths to the directories containing the data to be
40
- * validated.
41
- * @param options Configuration options for the validation.
42
- * @returns Either the whole data set or the errors.
43
- */
44
- export const getAllValidDataOrErrors = async (entityDirPaths, options = {}) => {
45
- const rawResultMap = await getRawValidationResults(entityDirPaths, options);
46
- return rawResultMapToResult(rawResultMap);
47
- };
48
- /**
49
- * Returns all valid data as a map of entity types to their data.
50
- * @param entityDirPaths THe paths to the directories containing the data to be
51
- * validated.
52
- * @param options Configuration options for the validation.
53
- * @returns The valid data.
54
- */
55
- export const getAllValidData = async (entityDirPaths, options = {}) => {
56
- const rawResultMap = await getRawValidationResults(entityDirPaths, options);
57
- return filterResultMapByValidData(rawResultMap);
58
- };
59
- /**
60
- * Returns all data as a map of entity types to their validation results.
61
- * @param entityDirPaths THe paths to the directories containing the data to be
62
- * validated.
63
- * @param options Configuration options for the validation.
64
- * @returns The validation results.
65
- */
66
- export const getRawResults = async (entityDirPaths, options = {}) => {
67
- const rawResultMap = await getRawValidationResults(entityDirPaths, options);
68
- return Object.fromEntries(rawResultMap);
69
- };
70
- /**
71
- * Builds the cache and writes it to the specified paths in JSON format.
72
- * @param cachePaths The absolute paths to write each cache to.
73
- * @param validResults The data to build the cache from. Usually the result of
74
- * `getAllValidData`.
75
- * @param options Configuration options for building the cache.
76
- */
77
- export const buildCache = async (cachePaths, validResults, options = {}) => {
78
- const { pretty = false } = options;
79
- const activatableSelectOptionsCache = cacheMap.activatableSelectOptions.builder(validResults);
80
- const ancestorBloodAdvantagesCache = cacheMap.ancestorBloodAdvantages.builder(validResults);
81
- const magicalAndBlessedAdvantagesAndDisadvantagesCache = cacheMap.magicalAndBlessedAdvantagesAndDisadvantages.builder(validResults);
82
- const newApplicationsAndUsesCache = cacheMap.newApplicationsAndUses.builder(validResults, activatableSelectOptionsCache);
83
- const cacheData = {
84
- activatableSelectOptions: activatableSelectOptionsCache,
85
- ancestorBloodAdvantages: ancestorBloodAdvantagesCache,
86
- magicalAndBlessedAdvantagesAndDisadvantages: magicalAndBlessedAdvantagesAndDisadvantagesCache,
87
- newApplicationsAndUses: newApplicationsAndUsesCache,
88
- };
89
- for (const [cacheName, cachePath] of Object.entries(cachePaths)) {
90
- await mkdir(dirname(cachePath), { recursive: true });
91
- await writeFile(cachePath, JSON.stringify(cacheData[cacheName], null, pretty ? 2 : undefined), "utf-8");
92
- }
93
- };
94
- /**
95
- * Reads the cache from the specified paths in JSON format.
96
- * @param cachePaths The absolute paths to read each cache from.
97
- * @returns
98
- */
99
- export const getCache = async (cachePaths) => {
100
- const cache = {};
101
- for (const [cacheName, cachePath] of Object.entries(cachePaths)) {
102
- const cacheData = JSON.parse(await readFile(cachePath, "utf-8"));
103
- cache[cacheName] = cacheData;
104
- }
105
- return cache;
106
- };
1
+ import { Schema } from "tsondb/schema";
2
+ import { Advantage } from "./types/Advantage.js";
3
+ import { AnimalDisease } from "./types/AnimalDisease.js";
4
+ import { AnimalType } from "./types/AnimalType.js";
5
+ import { ArcaneBardTradition } from "./types/ArcaneBardTradition.js";
6
+ import { ArcaneDancerTradition } from "./types/ArcaneDancerTradition.js";
7
+ import { Aspect } from "./types/Aspect.js";
8
+ import { Attribute } from "./types/Attribute.js";
9
+ import { Blessing } from "./types/Blessing.js";
10
+ import { Cantrip } from "./types/Cantrip.js";
11
+ import { Ceremony } from "./types/Ceremony.js";
12
+ import { CloseCombatTechnique, RangedCombatTechnique } from "./types/CombatTechnique.js";
13
+ import { Condition } from "./types/Condition.js";
14
+ import { Continent } from "./types/Continent.js";
15
+ import { Culture } from "./types/Culture.js";
16
+ import { DerivedCharacteristic } from "./types/DerivedCharacteristic.js";
17
+ import { Disadvantage } from "./types/Disadvantage.js";
18
+ import { Disease } from "./types/Disease.js";
19
+ import { Element } from "./types/Element.js";
20
+ import { ExperienceLevel } from "./types/ExperienceLevel.js";
21
+ import { EyeColor } from "./types/EyeColor.js";
22
+ import { FamiliarsTrick } from "./types/FamiliarsTrick.js";
23
+ import { HairColor } from "./types/HairColor.js";
24
+ import { Curriculum, Guideline } from "./types/Lessons.js";
25
+ import { LiturgicalChant } from "./types/LiturgicalChant.js";
26
+ import { Locale } from "./types/Locale.js";
27
+ import { MetaCondition } from "./types/MetaCondition.js";
28
+ import { PactCategory } from "./types/PactCategory.js";
29
+ import { Patron } from "./types/Patron.js";
30
+ import { PatronCategory } from "./types/PatronCategory.js";
31
+ import { PersonalityTrait } from "./types/PersonalityTrait.js";
32
+ import { Profession } from "./types/Profession.js";
33
+ import { Property } from "./types/Property.js";
34
+ import { Race } from "./types/Race.js";
35
+ import { Region } from "./types/Region.js";
36
+ import { Ritual } from "./types/Ritual.js";
37
+ import { Service } from "./types/Service.js";
38
+ import { SexPractice } from "./types/SexPractice.js";
39
+ import { Skill } from "./types/Skill.js";
40
+ import { SkillGroup } from "./types/SkillGroup.js";
41
+ import { SkillModificationLevel } from "./types/SkillModificationLevel.js";
42
+ import { SocialStatus } from "./types/SocialStatus.js";
43
+ import { Spell } from "./types/Spell.js";
44
+ import { State } from "./types/State.js";
45
+ import { Talisman } from "./types/Talisman.js";
46
+ import { TargetCategory } from "./types/TargetCategory.js";
47
+ import { EquipmentPackage } from "./types/equipment/EquipmentPackage.js";
48
+ import { Ammunition } from "./types/equipment/item/Ammunition.js";
49
+ import { Animal } from "./types/equipment/item/Animal.js";
50
+ import { AnimalCare } from "./types/equipment/item/AnimalCare.js";
51
+ import { Armor } from "./types/equipment/item/Armor.js";
52
+ import { BandageOrRemedy } from "./types/equipment/item/BandageOrRemedy.js";
53
+ import { Book } from "./types/equipment/item/Book.js";
54
+ import { CeremonialItem } from "./types/equipment/item/CeremonialItem.js";
55
+ import { Clothes } from "./types/equipment/item/Clothes.js";
56
+ import { Container } from "./types/equipment/item/Container.js";
57
+ import { Elixir } from "./types/equipment/item/Elixir.js";
58
+ import { EquipmentOfBlessedOnes } from "./types/equipment/item/EquipmentOfBlessedOnes.js";
59
+ import { GemOrPreciousStone } from "./types/equipment/item/GemOrPreciousStone.js";
60
+ import { IlluminationLightSource } from "./types/equipment/item/IlluminationLightSource.js";
61
+ import { IlluminationRefillOrSupply } from "./types/equipment/item/IlluminationRefillOrSupply.js";
62
+ import { Jewelry } from "./types/equipment/item/Jewelry.js";
63
+ import { Liebesspielzeug } from "./types/equipment/item/Liebesspielzeug.js";
64
+ import { LuxuryGood } from "./types/equipment/item/LuxuryGood.js";
65
+ import { MagicalArtifact } from "./types/equipment/item/MagicalArtifact.js";
66
+ import { MusicalInstrument } from "./types/equipment/item/MusicalInstrument.js";
67
+ import { OrienteeringAid } from "./types/equipment/item/OrienteeringAid.js";
68
+ import { Poison } from "./types/equipment/item/Poison.js";
69
+ import { RopeOrChain } from "./types/equipment/item/RopeOrChain.js";
70
+ import { Stationery } from "./types/equipment/item/Stationery.js";
71
+ import { ThievesTool } from "./types/equipment/item/ThievesTool.js";
72
+ import { ToolOfTheTrade } from "./types/equipment/item/ToolOfTheTrade.js";
73
+ import { TravelGearOrTool } from "./types/equipment/item/TravelGearOrTool.js";
74
+ import { Vehicle } from "./types/equipment/item/Vehicle.js";
75
+ import { Weapon } from "./types/equipment/item/Weapon.js";
76
+ import { WeaponAccessory } from "./types/equipment/item/WeaponAccessory.js";
77
+ import { ArmorType } from "./types/equipment/item/sub/ArmorType.js";
78
+ import { Reach } from "./types/equipment/item/sub/Reach.js";
79
+ import { AnimistPower } from "./types/magicalActions/AnimistPower.js";
80
+ import { Tribe } from "./types/magicalActions/AnimistPower_Tribe.js";
81
+ import { Curse } from "./types/magicalActions/Curse.js";
82
+ import { DominationRitual } from "./types/magicalActions/DominationRitual.js";
83
+ import { ElvenMagicalSong } from "./types/magicalActions/ElvenMagicalSong.js";
84
+ import { GeodeRitual } from "./types/magicalActions/GeodeRitual.js";
85
+ import { JesterTrick } from "./types/magicalActions/JesterTrick.js";
86
+ import { MagicalDance } from "./types/magicalActions/MagicalDance.js";
87
+ import { MagicalMelody } from "./types/magicalActions/MagicalMelody.js";
88
+ import { MagicalRune } from "./types/magicalActions/MagicalRune.js";
89
+ import { ZibiljaRitual } from "./types/magicalActions/ZibiljaRitual.js";
90
+ import { CoreRule } from "./types/rule/CoreRule.js";
91
+ import { FocusRule } from "./types/rule/FocusRule.js";
92
+ import { Subject } from "./types/rule/FocusRule_Subject.js";
93
+ import { OptionalRule } from "./types/rule/OptionalRule.js";
94
+ import { Publication } from "./types/source/Publication.js";
95
+ import { AdvancedCombatSpecialAbility } from "./types/specialAbility/AdvancedCombatSpecialAbility.js";
96
+ import { AdvancedKarmaSpecialAbility } from "./types/specialAbility/AdvancedKarmaSpecialAbility.js";
97
+ import { AdvancedMagicalSpecialAbility } from "./types/specialAbility/AdvancedMagicalSpecialAbility.js";
98
+ import { AdvancedSkillSpecialAbility } from "./types/specialAbility/AdvancedSkillSpecialAbility.js";
99
+ import { AncestorGlyph } from "./types/specialAbility/AncestorGlyph.js";
100
+ import { BlessedTradition } from "./types/specialAbility/BlessedTradition.js";
101
+ import { BrawlingSpecialAbility } from "./types/specialAbility/BrawlingSpecialAbility.js";
102
+ import { CeremonialItemSpecialAbility } from "./types/specialAbility/CeremonialItemSpecialAbility.js";
103
+ import { CombatSpecialAbility } from "./types/specialAbility/CombatSpecialAbility.js";
104
+ import { CombatStyleSpecialAbility } from "./types/specialAbility/CombatStyleSpecialAbility.js";
105
+ import { CommandSpecialAbility } from "./types/specialAbility/CommandSpecialAbility.js";
106
+ import { FamiliarSpecialAbility } from "./types/specialAbility/FamiliarSpecialAbility.js";
107
+ import { FatePointSexSpecialAbility } from "./types/specialAbility/FatePointSexSpecialAbility.js";
108
+ import { FatePointSpecialAbility } from "./types/specialAbility/FatePointSpecialAbility.js";
109
+ import { GeneralSpecialAbility } from "./types/specialAbility/GeneralSpecialAbility.js";
110
+ import { KarmaSpecialAbility } from "./types/specialAbility/KarmaSpecialAbility.js";
111
+ import { LiturgicalStyleSpecialAbility } from "./types/specialAbility/LiturgicalStyleSpecialAbility.js";
112
+ import { LycantropicGift } from "./types/specialAbility/LycantropicGift.js";
113
+ import { MagicStyleSpecialAbility } from "./types/specialAbility/MagicStyleSpecialAbility.js";
114
+ import { MagicalSign } from "./types/specialAbility/MagicalSign.js";
115
+ import { MagicalSpecialAbility } from "./types/specialAbility/MagicalSpecialAbility.js";
116
+ import { MagicalTradition } from "./types/specialAbility/MagicalTradition.js";
117
+ import { PactGift } from "./types/specialAbility/PactGift.js";
118
+ import { ProtectiveWardingCircleSpecialAbility } from "./types/specialAbility/ProtectiveWardingCircleSpecialAbility.js";
119
+ import { Sermon } from "./types/specialAbility/Sermon.js";
120
+ import { SexSpecialAbility } from "./types/specialAbility/SexSpecialAbility.js";
121
+ import { SikaryanDrainSpecialAbility } from "./types/specialAbility/SikaryanDrainSpecialAbility.js";
122
+ import { SkillStyleSpecialAbility } from "./types/specialAbility/SkillStyleSpecialAbility.js";
123
+ import { VampiricGift } from "./types/specialAbility/VampiricGift.js";
124
+ import { Vision } from "./types/specialAbility/Vision.js";
125
+ import { Language } from "./types/specialAbility/sub/Language.js";
126
+ import { Script } from "./types/specialAbility/sub/Script.js";
127
+ import { TradeSecret } from "./types/specialAbility/sub/TradeSecret.js";
128
+ import { ArcaneOrbEnchantment } from "./types/traditionArtifacts/ArcaneOrbEnchantment.js";
129
+ import { AttireEnchantment } from "./types/traditionArtifacts/AttireEnchantment.js";
130
+ import { BowlEnchantment } from "./types/traditionArtifacts/BowlEnchantment.js";
131
+ import { CauldronEnchantment } from "./types/traditionArtifacts/CauldronEnchantment.js";
132
+ import { ChronicleEnchantment } from "./types/traditionArtifacts/ChronicleEnchantment.js";
133
+ import { DaggerRitual } from "./types/traditionArtifacts/DaggerRitual.js";
134
+ import { FoolsHatEnchantment } from "./types/traditionArtifacts/FoolsHatEnchantment.js";
135
+ import { InstrumentEnchantment } from "./types/traditionArtifacts/InstrumentEnchantment.js";
136
+ import { Krallenkettenzauber } from "./types/traditionArtifacts/Krallenkettenzauber.js";
137
+ import { OrbEnchantment } from "./types/traditionArtifacts/OrbEnchantment.js";
138
+ import { RingEnchantment } from "./types/traditionArtifacts/RingEnchantment.js";
139
+ import { SickleRitual } from "./types/traditionArtifacts/SickleRitual.js";
140
+ import { SpellSwordEnchantment } from "./types/traditionArtifacts/SpellSwordEnchantment.js";
141
+ import { StaffEnchantment } from "./types/traditionArtifacts/StaffEnchantment.js";
142
+ import { ToyEnchantment } from "./types/traditionArtifacts/ToyEnchantment.js";
143
+ import { Trinkhornzauber } from "./types/traditionArtifacts/Trinkhornzauber.js";
144
+ import { WandEnchantment } from "./types/traditionArtifacts/WandEnchantment.js";
145
+ import { WeaponEnchantment } from "./types/traditionArtifacts/WeaponEnchantment.js";
146
+ import { AnimalShape } from "./types/traditionArtifacts/sub/AnimalShape.js";
147
+ import { AnimalShapePath } from "./types/traditionArtifacts/sub/AnimalShapePath.js";
148
+ import { AnimalShapeSize } from "./types/traditionArtifacts/sub/AnimalShapeSize.js";
149
+ import { Brew } from "./types/traditionArtifacts/sub/Brew.js";
150
+ export const schema = Schema([
151
+ AdvancedCombatSpecialAbility,
152
+ AdvancedKarmaSpecialAbility,
153
+ AdvancedMagicalSpecialAbility,
154
+ AdvancedSkillSpecialAbility,
155
+ Advantage,
156
+ Ammunition,
157
+ AncestorGlyph,
158
+ AnimalCare,
159
+ AnimalDisease,
160
+ Animal,
161
+ AnimalShapePath,
162
+ AnimalShape,
163
+ AnimalShapeSize,
164
+ AnimalType,
165
+ AnimistPower,
166
+ Tribe,
167
+ ArcaneBardTradition,
168
+ ArcaneDancerTradition,
169
+ ArcaneOrbEnchantment,
170
+ Armor,
171
+ ArmorType,
172
+ Aspect,
173
+ AttireEnchantment,
174
+ Attribute,
175
+ BandageOrRemedy,
176
+ BlessedTradition,
177
+ Blessing,
178
+ Book,
179
+ BowlEnchantment,
180
+ BrawlingSpecialAbility,
181
+ Brew,
182
+ Cantrip,
183
+ CauldronEnchantment,
184
+ CeremonialItem,
185
+ CeremonialItemSpecialAbility,
186
+ Ceremony,
187
+ ChronicleEnchantment,
188
+ CloseCombatTechnique,
189
+ Clothes,
190
+ CombatSpecialAbility,
191
+ CombatStyleSpecialAbility,
192
+ CommandSpecialAbility,
193
+ Condition,
194
+ Container,
195
+ Continent,
196
+ CoreRule,
197
+ Culture,
198
+ Curse,
199
+ DaggerRitual,
200
+ DerivedCharacteristic,
201
+ Disadvantage,
202
+ Disease,
203
+ DominationRitual,
204
+ Element,
205
+ Elixir,
206
+ ElvenMagicalSong,
207
+ EquipmentOfBlessedOnes,
208
+ EquipmentPackage,
209
+ ExperienceLevel,
210
+ EyeColor,
211
+ FamiliarSpecialAbility,
212
+ FamiliarsTrick,
213
+ FatePointSexSpecialAbility,
214
+ FatePointSpecialAbility,
215
+ FocusRule,
216
+ Subject,
217
+ FoolsHatEnchantment,
218
+ GemOrPreciousStone,
219
+ GeneralSpecialAbility,
220
+ GeodeRitual,
221
+ HairColor,
222
+ IlluminationLightSource,
223
+ IlluminationRefillOrSupply,
224
+ InstrumentEnchantment,
225
+ JesterTrick,
226
+ Jewelry,
227
+ KarmaSpecialAbility,
228
+ Krallenkettenzauber,
229
+ Language,
230
+ Curriculum,
231
+ Guideline,
232
+ Liebesspielzeug,
233
+ LiturgicalChant,
234
+ LiturgicalStyleSpecialAbility,
235
+ LuxuryGood,
236
+ LycantropicGift,
237
+ MagicalArtifact,
238
+ MagicalDance,
239
+ MagicalMelody,
240
+ MagicalRune,
241
+ MagicalSign,
242
+ MagicalSpecialAbility,
243
+ MagicalTradition,
244
+ MagicStyleSpecialAbility,
245
+ MetaCondition,
246
+ MusicalInstrument,
247
+ OptionalRule,
248
+ OrbEnchantment,
249
+ OrienteeringAid,
250
+ PactCategory,
251
+ PactGift,
252
+ PatronCategory,
253
+ Patron,
254
+ PersonalityTrait,
255
+ Poison,
256
+ Profession,
257
+ Property,
258
+ ProtectiveWardingCircleSpecialAbility,
259
+ Publication,
260
+ Race,
261
+ RangedCombatTechnique,
262
+ Reach,
263
+ Region,
264
+ RingEnchantment,
265
+ Ritual,
266
+ RopeOrChain,
267
+ Script,
268
+ Sermon,
269
+ Service,
270
+ SexPractice,
271
+ SexSpecialAbility,
272
+ SickleRitual,
273
+ SikaryanDrainSpecialAbility,
274
+ SkillGroup,
275
+ SkillModificationLevel,
276
+ Skill,
277
+ SkillStyleSpecialAbility,
278
+ SocialStatus,
279
+ Spell,
280
+ SpellSwordEnchantment,
281
+ StaffEnchantment,
282
+ State,
283
+ Stationery,
284
+ Talisman,
285
+ TargetCategory,
286
+ ThievesTool,
287
+ ToolOfTheTrade,
288
+ ToyEnchantment,
289
+ TradeSecret,
290
+ TravelGearOrTool,
291
+ Trinkhornzauber,
292
+ VampiricGift,
293
+ Vehicle,
294
+ Vision,
295
+ WandEnchantment,
296
+ WeaponAccessory,
297
+ WeaponEnchantment,
298
+ Weapon,
299
+ ZibiljaRitual,
300
+ ], Locale);
301
+ // /**
302
+ // * A dictionary of cache types and their associated location.
303
+ // */
304
+ // export type CachePaths = {
305
+ // [K in keyof CacheMap]: string
306
+ // }
307
+ // export type CacheOptions = {
308
+ // /**
309
+ // * Whether to pretty-print the JSON. Default is `false`.
310
+ // */
311
+ // pretty?: boolean
312
+ // }
313
+ // /**
314
+ // * Builds the cache and writes it to the specified paths in JSON format.
315
+ // * @param cachePaths The absolute paths to write each cache to.
316
+ // * @param validResults The data to build the cache from. Usually the result of
317
+ // * `getAllValidData`.
318
+ // * @param options Configuration options for building the cache.
319
+ // */
320
+ // export const buildCache = async (
321
+ // cachePaths: CachePaths,
322
+ // validResults: ValidResults,
323
+ // options: CacheOptions = {}
324
+ // ): Promise<void> => {
325
+ // const { pretty = false } = options
326
+ // const activatableSelectOptionsCache = cacheMap.activatableSelectOptions.builder(validResults)
327
+ // const ancestorBloodAdvantagesCache = cacheMap.ancestorBloodAdvantages.builder(validResults)
328
+ // const magicalAndBlessedAdvantagesAndDisadvantagesCache =
329
+ // cacheMap.magicalAndBlessedAdvantagesAndDisadvantages.builder(validResults)
330
+ // const newApplicationsAndUsesCache = cacheMap.newApplicationsAndUses.builder(
331
+ // validResults,
332
+ // activatableSelectOptionsCache
333
+ // )
334
+ // const cacheData: CacheMap = {
335
+ // activatableSelectOptions: activatableSelectOptionsCache,
336
+ // ancestorBloodAdvantages: ancestorBloodAdvantagesCache,
337
+ // magicalAndBlessedAdvantagesAndDisadvantages: magicalAndBlessedAdvantagesAndDisadvantagesCache,
338
+ // newApplicationsAndUses: newApplicationsAndUsesCache,
339
+ // }
340
+ // for (const [cacheName, cachePath] of Object.entries(cachePaths)) {
341
+ // await mkdir(dirname(cachePath), { recursive: true })
342
+ // await writeFile(
343
+ // cachePath,
344
+ // JSON.stringify(cacheData[cacheName as keyof CachePaths], null, pretty ? 2 : undefined),
345
+ // "utf-8"
346
+ // )
347
+ // }
348
+ // }
349
+ // /**
350
+ // * Reads the cache from the specified paths in JSON format.
351
+ // * @param cachePaths The absolute paths to read each cache from.
352
+ // * @returns
353
+ // */
354
+ // export const getCache = async (cachePaths: CachePaths): Promise<CacheMap> => {
355
+ // const cache: Partial<CacheMap> = {}
356
+ // for (const [cacheName, cachePath] of Object.entries(cachePaths)) {
357
+ // const cacheData = JSON.parse(await readFile(cachePath, "utf-8"))
358
+ // cache[cacheName as keyof CacheMap] = cacheData
359
+ // }
360
+ // return cache as CacheMap
361
+ // }
package/lib/test.d.ts ADDED
@@ -0,0 +1 @@
1
+ import "./main.js";
package/lib/test.js ADDED
@@ -0,0 +1,2 @@
1
+ // importing the main file will run the schema checks
2
+ import "./main.js";