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
package/CHANGELOG.md CHANGED
@@ -1,6 +1,39 @@
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.1](https://github.com/elyukai/optolith-database-schema/compare/v0.18.0...v0.18.1) (2025-10-03)
6
+
7
+ ## [0.18.0](https://github.com/elyukai/optolith-database-schema/compare/v0.17.2...v0.18.0) (2025-10-03)
8
+
9
+
10
+ ### ⚠ BREAKING CHANGES
11
+
12
+ * tsondb integration
13
+ * use identifier object instead of plain number for publication prerequisite identifier
14
+ * adjust naming for compiles languages that dont create namespaces per file
15
+ * add blessed tradition type as union type
16
+
17
+ ### Features
18
+
19
+ * add blessed tradition type as union type ([dd999c1](https://github.com/elyukai/optolith-database-schema/commit/dd999c1387d950fd27169c601f4653a1fd0273d6))
20
+ * add skill application identifier as possible select option identifier ([2523228](https://github.com/elyukai/optolith-database-schema/commit/25232282da57baf82d369bc80be703ae69df6f6d))
21
+ * add translation strings for prerequisites ([a031ad9](https://github.com/elyukai/optolith-database-schema/commit/a031ad93ea305c831fbb52498adecec3f9b3b2e1))
22
+ * adjust naming for compiles languages that dont create namespaces per file ([4236fa3](https://github.com/elyukai/optolith-database-schema/commit/4236fa38040bf034d27e942e66647462a1e15f3c))
23
+ * **swift:** add initializers to all structs ([fc79950](https://github.com/elyukai/optolith-database-schema/commit/fc79950428c62f0ca11d56299854f83a37d693c8))
24
+ * **swift:** add set of available locales and documentation for LocaleMap ([c247c06](https://github.com/elyukai/optolith-database-schema/commit/c247c067e4b38cf8b748fe1ab1228ecbf294b8cc))
25
+ * **swift:** do not generate ignored files ([6dd361a](https://github.com/elyukai/optolith-database-schema/commit/6dd361a16cea4488b4d7d34a86edbf673ea97d4b))
26
+ * **swift:** remove generation date header comment ([9db2fd5](https://github.com/elyukai/optolith-database-schema/commit/9db2fd59894a692a8443592e8247251f55913e73))
27
+ * tsondb integration ([619805c](https://github.com/elyukai/optolith-database-schema/commit/619805ccfb3771962cc5e987f80b51a5dcf56c09)), closes [#35](https://github.com/elyukai/optolith-database-schema/issues/35)
28
+
29
+
30
+ ### Bug Fixes
31
+
32
+ * **swift:** add ignored LocaleMap type ([f80bbaa](https://github.com/elyukai/optolith-database-schema/commit/f80bbaa8289c9053ae31867564a072cf7bd506a0))
33
+ * **swift:** identifier objects' initializers must be public ([8f2be47](https://github.com/elyukai/optolith-database-schema/commit/8f2be474440a00c37d4aee8f6eb4cceba2dbf8ee))
34
+ * **swift:** LocaleMap initializer didnt initialize all properties ([f5167bb](https://github.com/elyukai/optolith-database-schema/commit/f5167bb56586e88d970cf893e5ea077bc41e1113))
35
+ * **swift:** remove unnecessary indentation in empty lines ([dbe1902](https://github.com/elyukai/optolith-database-schema/commit/dbe19027a05a9834fc00cc2fcb1892fca1fd74fe))
36
+ * use identifier object instead of plain number for publication prerequisite identifier ([bb7a688](https://github.com/elyukai/optolith-database-schema/commit/bb7a688b019fc95070bb7aaf4246a6d64d0de91a))
4
37
 
5
38
  ### [0.17.2](https://github.com/elyukai/optolith-database-schema/compare/v0.17.1...v0.17.2) (2024-10-06)
6
39
 
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";