optolith-database-schema 0.17.0 → 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 (636) hide show
  1. package/CHANGELOG.md +45 -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 +20 -15
  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 +288 -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/nullable.d.ts +0 -35
  582. package/lib/helpers/nullable.js +0 -31
  583. package/lib/helpers/nullable.test.d.ts +0 -1
  584. package/lib/helpers/nullable.test.js +0 -46
  585. package/lib/helpers/object.d.ts +0 -5
  586. package/lib/helpers/object.js +0 -16
  587. package/lib/helpers/object.test.d.ts +0 -1
  588. package/lib/helpers/object.test.js +0 -15
  589. package/lib/helpers/objectPath.d.ts +0 -13
  590. package/lib/helpers/objectPath.js +0 -3
  591. package/lib/helpers/pair.d.ts +0 -20
  592. package/lib/helpers/pair.js +0 -20
  593. package/lib/helpers/result.d.ts +0 -57
  594. package/lib/helpers/result.js +0 -45
  595. package/lib/helpers/typeSafety.d.ts +0 -14
  596. package/lib/helpers/typeSafety.js +0 -16
  597. package/lib/helpers/typeSafety.test.d.ts +0 -1
  598. package/lib/helpers/typeSafety.test.js +0 -10
  599. package/lib/typeConfig.d.ts +0 -10
  600. package/lib/typeConfig.js +0 -1
  601. package/lib/types/CombatTechnique_Close.d.ts +0 -73
  602. package/lib/types/CombatTechnique_Close.js +0 -14
  603. package/lib/types/CombatTechnique_Ranged.d.ts +0 -66
  604. package/lib/types/CombatTechnique_Ranged.js +0 -14
  605. package/lib/types/Kirchenpraegung.d.ts +0 -10
  606. package/lib/types/Kirchenpraegung.js +0 -14
  607. package/lib/types/Lessons_Curriculum.d.ts +0 -236
  608. package/lib/types/Lessons_Curriculum.js +0 -14
  609. package/lib/types/Lessons_Guideline.d.ts +0 -34
  610. package/lib/types/Lessons_Guideline.js +0 -14
  611. package/lib/types/UI.d.ts +0 -1212
  612. package/lib/types/UI.js +0 -14
  613. package/lib/types/_LocaleMap.d.ts +0 -10
  614. package/lib/types/_LocaleMap.js +0 -1
  615. package/lib/types/_NonEmptyString.d.ts +0 -9
  616. package/lib/types/_NonEmptyString.js +0 -1
  617. package/lib/types/_SimpleReferences.d.ts +0 -134
  618. package/lib/types/_SimpleReferences.js +0 -1
  619. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +0 -7
  620. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +0 -14
  621. package/lib/types/equipment/item/Stationary.d.ts +0 -7
  622. package/lib/types/equipment/item/Stationary.js +0 -14
  623. package/lib/types/magicalActions/_SkillReference.d.ts +0 -11
  624. package/lib/types/magicalActions/_SkillReference.js +0 -1
  625. package/lib/validation/builders/integrity.d.ts +0 -56
  626. package/lib/validation/builders/integrity.js +0 -44
  627. package/lib/validation/builders/naming.d.ts +0 -15
  628. package/lib/validation/builders/naming.js +0 -17
  629. package/lib/validation/builders/schema.d.ts +0 -31
  630. package/lib/validation/builders/schema.js +0 -32
  631. package/lib/validation/filename.d.ts +0 -9
  632. package/lib/validation/filename.js +0 -10
  633. package/lib/validation/raw.d.ts +0 -8
  634. package/lib/validation/raw.js +0 -54
  635. package/lib/validation/schema.d.ts +0 -6
  636. package/lib/validation/schema.js +0 -32
@@ -1,306 +0,0 @@
1
- import * as Advantage from "../types/Advantage.js";
2
- import * as AnimalDisease from "../types/AnimalDisease.js";
3
- import * as AnimalType from "../types/AnimalType.js";
4
- import * as ArcaneBardTradition from "../types/ArcaneBardTradition.js";
5
- import * as ArcaneDancerTradition from "../types/ArcaneDancerTradition.js";
6
- import * as Aspect from "../types/Aspect.js";
7
- import * as Attribute from "../types/Attribute.js";
8
- import * as Blessing from "../types/Blessing.js";
9
- import * as Cantrip from "../types/Cantrip.js";
10
- import * as Ceremony from "../types/Ceremony.js";
11
- import * as CloseCombatTechnique from "../types/CombatTechnique_Close.js";
12
- import * as RangedCombatTechnique from "../types/CombatTechnique_Ranged.js";
13
- import * as Condition from "../types/Condition.js";
14
- import * as Continent from "../types/Continent.js";
15
- import * as Culture from "../types/Culture.js";
16
- import * as DerivedCharacteristic from "../types/DerivedCharacteristic.js";
17
- import * as Disadvantage from "../types/Disadvantage.js";
18
- import * as Disease from "../types/Disease.js";
19
- import * as Element from "../types/Element.js";
20
- import * as ExperienceLevel from "../types/ExperienceLevel.js";
21
- import * as EyeColor from "../types/EyeColor.js";
22
- import * as FamiliarsTrick from "../types/FamiliarsTrick.js";
23
- import * as HairColor from "../types/HairColor.js";
24
- import * as Kirchenpraegung from "../types/Kirchenpraegung.js";
25
- import * as Curriculum from "../types/Lessons_Curriculum.js";
26
- import * as Guideline from "../types/Lessons_Guideline.js";
27
- import * as LiturgicalChant from "../types/LiturgicalChant.js";
28
- import * as Locales from "../types/Locale.js";
29
- import * as MetaCondition from "../types/MetaCondition.js";
30
- import * as PactCategory from "../types/PactCategory.js";
31
- import * as Patron from "../types/Patron.js";
32
- import * as PatronCategory from "../types/PatronCategory.js";
33
- import * as PersonalityTrait from "../types/PersonalityTrait.js";
34
- import * as Profession from "../types/Profession.js";
35
- import * as Property from "../types/Property.js";
36
- import * as Race from "../types/Race.js";
37
- import * as Region from "../types/Region.js";
38
- import * as Ritual from "../types/Ritual.js";
39
- import * as Service from "../types/Service.js";
40
- import * as SexPractice from "../types/SexPractice.js";
41
- import * as Skill from "../types/Skill.js";
42
- import * as SkillGroup from "../types/SkillGroup.js";
43
- import * as SkillModificationLevel from "../types/SkillModificationLevel.js";
44
- import * as SocialStatus from "../types/SocialStatus.js";
45
- import * as Spell from "../types/Spell.js";
46
- import * as State from "../types/State.js";
47
- import * as Talisman from "../types/Talisman.js";
48
- import * as TargetCategory from "../types/TargetCategory.js";
49
- import * as UI from "../types/UI.js";
50
- import * as EquipmentPackage from "../types/equipment/EquipmentPackage.js";
51
- import * as Ammunition from "../types/equipment/item/Ammunition.js";
52
- import * as Animal from "../types/equipment/item/Animal.js";
53
- import * as AnimalCare from "../types/equipment/item/AnimalCare.js";
54
- import * as Armor from "../types/equipment/item/Armor.js";
55
- import * as BandageOrRemedy from "../types/equipment/item/BandageOrRemedy.js";
56
- import * as Book from "../types/equipment/item/Book.js";
57
- import * as CeremonialItem from "../types/equipment/item/CeremonialItem.js";
58
- import * as Clothes from "../types/equipment/item/Clothes.js";
59
- import * as Container from "../types/equipment/item/Container.js";
60
- import * as Elixir from "../types/equipment/item/Elixir.js";
61
- import * as EquipmentOfBlessedOnes from "../types/equipment/item/EquipmentOfBlessedOnes.js";
62
- import * as GemOrPreciousStone from "../types/equipment/item/GemOrPreciousStone.js";
63
- import * as IlluminationLightSource from "../types/equipment/item/IlluminationLightSource.js";
64
- import * as IlluminationRefillsOrSupplies from "../types/equipment/item/IlluminationRefillsOrSupplies.js";
65
- import * as Jewelry from "../types/equipment/item/Jewelry.js";
66
- import * as Liebesspielzeug from "../types/equipment/item/Liebesspielzeug.js";
67
- import * as LuxuryGood from "../types/equipment/item/LuxuryGood.js";
68
- import * as MagicalArtifact from "../types/equipment/item/MagicalArtifact.js";
69
- import * as MusicalInstrument from "../types/equipment/item/MusicalInstrument.js";
70
- import * as OrienteeringAid from "../types/equipment/item/OrienteeringAid.js";
71
- import * as Poison from "../types/equipment/item/Poison.js";
72
- import * as RopeOrChain from "../types/equipment/item/RopeOrChain.js";
73
- import * as Stationary from "../types/equipment/item/Stationary.js";
74
- import * as ThievesTool from "../types/equipment/item/ThievesTool.js";
75
- import * as ToolOfTheTrade from "../types/equipment/item/ToolOfTheTrade.js";
76
- import * as TravelGearOrTool from "../types/equipment/item/TravelGearOrTool.js";
77
- import * as Vehicle from "../types/equipment/item/Vehicle.js";
78
- import * as Weapon from "../types/equipment/item/Weapon.js";
79
- import * as WeaponAccessory from "../types/equipment/item/WeaponAccessory.js";
80
- import * as ArmorType from "../types/equipment/item/sub/ArmorType.js";
81
- import * as Reach from "../types/equipment/item/sub/Reach.js";
82
- import * as AnimistPower from "../types/magicalActions/AnimistPower.js";
83
- import * as Tribe from "../types/magicalActions/AnimistPower_Tribe.js";
84
- import * as Curse from "../types/magicalActions/Curse.js";
85
- import * as DominationRitual from "../types/magicalActions/DominationRitual.js";
86
- import * as ElvenMagicalSong from "../types/magicalActions/ElvenMagicalSong.js";
87
- import * as GeodeRitual from "../types/magicalActions/GeodeRitual.js";
88
- import * as JesterTrick from "../types/magicalActions/JesterTrick.js";
89
- import * as MagicalDance from "../types/magicalActions/MagicalDance.js";
90
- import * as MagicalMelody from "../types/magicalActions/MagicalMelody.js";
91
- import * as MagicalRune from "../types/magicalActions/MagicalRune.js";
92
- import * as ZibiljaRitual from "../types/magicalActions/ZibiljaRitual.js";
93
- import * as CoreRule from "../types/rule/CoreRule.js";
94
- import * as FocusRule from "../types/rule/FocusRule.js";
95
- import * as Subject from "../types/rule/FocusRule_Subject.js";
96
- import * as OptionalRule from "../types/rule/OptionalRule.js";
97
- import * as Publication from "../types/source/Publication.js";
98
- import * as AdvancedCombatSpecialAbility from "../types/specialAbility/AdvancedCombatSpecialAbility.js";
99
- import * as AdvancedKarmaSpecialAbility from "../types/specialAbility/AdvancedKarmaSpecialAbility.js";
100
- import * as AdvancedMagicalSpecialAbility from "../types/specialAbility/AdvancedMagicalSpecialAbility.js";
101
- import * as AdvancedSkillSpecialAbility from "../types/specialAbility/AdvancedSkillSpecialAbility.js";
102
- import * as AncestorGlyph from "../types/specialAbility/AncestorGlyph.js";
103
- import * as BlessedTradition from "../types/specialAbility/BlessedTradition.js";
104
- import * as BrawlingSpecialAbility from "../types/specialAbility/BrawlingSpecialAbility.js";
105
- import * as CeremonialItemSpecialAbility from "../types/specialAbility/CeremonialItemSpecialAbility.js";
106
- import * as CombatSpecialAbility from "../types/specialAbility/CombatSpecialAbility.js";
107
- import * as CombatStyleSpecialAbility from "../types/specialAbility/CombatStyleSpecialAbility.js";
108
- import * as CommandSpecialAbility from "../types/specialAbility/CommandSpecialAbility.js";
109
- import * as FamiliarSpecialAbility from "../types/specialAbility/FamiliarSpecialAbility.js";
110
- import * as FatePointSexSpecialAbility from "../types/specialAbility/FatePointSexSpecialAbility.js";
111
- import * as FatePointSpecialAbility from "../types/specialAbility/FatePointSpecialAbility.js";
112
- import * as GeneralSpecialAbility from "../types/specialAbility/GeneralSpecialAbility.js";
113
- import * as KarmaSpecialAbility from "../types/specialAbility/KarmaSpecialAbility.js";
114
- import * as LiturgicalStyleSpecialAbility from "../types/specialAbility/LiturgicalStyleSpecialAbility.js";
115
- import * as LycantropicGift from "../types/specialAbility/LycantropicGift.js";
116
- import * as MagicStyleSpecialAbility from "../types/specialAbility/MagicStyleSpecialAbility.js";
117
- import * as MagicalSign from "../types/specialAbility/MagicalSign.js";
118
- import * as MagicalSpecialAbility from "../types/specialAbility/MagicalSpecialAbility.js";
119
- import * as MagicalTradition from "../types/specialAbility/MagicalTradition.js";
120
- import * as PactGift from "../types/specialAbility/PactGift.js";
121
- import * as ProtectiveWardingCircleSpecialAbility from "../types/specialAbility/ProtectiveWardingCircleSpecialAbility.js";
122
- import * as Sermon from "../types/specialAbility/Sermon.js";
123
- import * as SexSpecialAbility from "../types/specialAbility/SexSpecialAbility.js";
124
- import * as SikaryanDrainSpecialAbility from "../types/specialAbility/SikaryanDrainSpecialAbility.js";
125
- import * as SkillStyleSpecialAbility from "../types/specialAbility/SkillStyleSpecialAbility.js";
126
- import * as VampiricGift from "../types/specialAbility/VampiricGift.js";
127
- import * as Vision from "../types/specialAbility/Vision.js";
128
- import * as Language from "../types/specialAbility/sub/Language.js";
129
- import * as Script from "../types/specialAbility/sub/Script.js";
130
- import * as TradeSecret from "../types/specialAbility/sub/TradeSecret.js";
131
- import * as ArcaneOrbEnchantment from "../types/traditionArtifacts/ArcaneOrbEnchantment.js";
132
- import * as AttireEnchantment from "../types/traditionArtifacts/AttireEnchantment.js";
133
- import * as BowlEnchantment from "../types/traditionArtifacts/BowlEnchantment.js";
134
- import * as CauldronEnchantment from "../types/traditionArtifacts/CauldronEnchantment.js";
135
- import * as ChronicleEnchantment from "../types/traditionArtifacts/ChronicleEnchantment.js";
136
- import * as DaggerRitual from "../types/traditionArtifacts/DaggerRitual.js";
137
- import * as FoolsHatEnchantment from "../types/traditionArtifacts/FoolsHatEnchantment.js";
138
- import * as InstrumentEnchantment from "../types/traditionArtifacts/InstrumentEnchantment.js";
139
- import * as Krallenkettenzauber from "../types/traditionArtifacts/Krallenkettenzauber.js";
140
- import * as OrbEnchantment from "../types/traditionArtifacts/OrbEnchantment.js";
141
- import * as RingEnchantment from "../types/traditionArtifacts/RingEnchantment.js";
142
- import * as SickleRitual from "../types/traditionArtifacts/SickleRitual.js";
143
- import * as SpellSwordEnchantment from "../types/traditionArtifacts/SpellSwordEnchantment.js";
144
- import * as StaffEnchantment from "../types/traditionArtifacts/StaffEnchantment.js";
145
- import * as ToyEnchantment from "../types/traditionArtifacts/ToyEnchantment.js";
146
- import * as Trinkhornzauber from "../types/traditionArtifacts/Trinkhornzauber.js";
147
- import * as WandEnchantment from "../types/traditionArtifacts/WandEnchantment.js";
148
- import * as WeaponEnchantment from "../types/traditionArtifacts/WeaponEnchantment.js";
149
- import * as AnimalShape from "../types/traditionArtifacts/sub/AnimalShape.js";
150
- import * as AnimalShapePath from "../types/traditionArtifacts/sub/AnimalShapePath.js";
151
- import * as AnimalShapeSize from "../types/traditionArtifacts/sub/AnimalShapeSize.js";
152
- import * as Brew from "../types/traditionArtifacts/sub/Brew.js";
153
- export const configMap = {
154
- advancedCombatSpecialAbilities: AdvancedCombatSpecialAbility.config,
155
- advancedKarmaSpecialAbilities: AdvancedKarmaSpecialAbility.config,
156
- advancedMagicalSpecialAbilities: AdvancedMagicalSpecialAbility.config,
157
- advancedSkillSpecialAbilities: AdvancedSkillSpecialAbility.config,
158
- advantages: Advantage.config,
159
- ammunition: Ammunition.config,
160
- ancestorGlyphs: AncestorGlyph.config,
161
- animalCare: AnimalCare.config,
162
- animalDiseases: AnimalDisease.config,
163
- animals: Animal.config,
164
- animalShapePaths: AnimalShapePath.config,
165
- animalShapes: AnimalShape.config,
166
- animalShapeSizes: AnimalShapeSize.config,
167
- animalTypes: AnimalType.config,
168
- animistPowers: AnimistPower.config,
169
- animistPowerTribes: Tribe.config,
170
- arcaneBardTraditions: ArcaneBardTradition.config,
171
- arcaneDancerTraditions: ArcaneDancerTradition.config,
172
- arcaneOrbEnchantments: ArcaneOrbEnchantment.config,
173
- armors: Armor.config,
174
- armorTypes: ArmorType.config,
175
- aspects: Aspect.config,
176
- attireEnchantments: AttireEnchantment.config,
177
- attributes: Attribute.config,
178
- bandagesAndRemedies: BandageOrRemedy.config,
179
- blessedTraditions: BlessedTradition.config,
180
- blessings: Blessing.config,
181
- books: Book.config,
182
- bowlEnchantments: BowlEnchantment.config,
183
- brawlingSpecialAbilities: BrawlingSpecialAbility.config,
184
- brews: Brew.config,
185
- cantrips: Cantrip.config,
186
- cauldronEnchantments: CauldronEnchantment.config,
187
- ceremonialItems: CeremonialItem.config,
188
- ceremonialItemSpecialAbilities: CeremonialItemSpecialAbility.config,
189
- ceremonies: Ceremony.config,
190
- chronicleEnchantments: ChronicleEnchantment.config,
191
- closeCombatTechniques: CloseCombatTechnique.config,
192
- clothes: Clothes.config,
193
- combatSpecialAbilities: CombatSpecialAbility.config,
194
- combatStyleSpecialAbilities: CombatStyleSpecialAbility.config,
195
- commandSpecialAbilities: CommandSpecialAbility.config,
196
- conditions: Condition.config,
197
- containers: Container.config,
198
- continents: Continent.config,
199
- coreRules: CoreRule.config,
200
- cultures: Culture.config,
201
- curses: Curse.config,
202
- daggerRituals: DaggerRitual.config,
203
- derivedCharacteristics: DerivedCharacteristic.config,
204
- disadvantages: Disadvantage.config,
205
- diseases: Disease.config,
206
- dominationRituals: DominationRitual.config,
207
- elements: Element.config,
208
- elixirs: Elixir.config,
209
- elvenMagicalSongs: ElvenMagicalSong.config,
210
- equipmentOfBlessedOnes: EquipmentOfBlessedOnes.config,
211
- equipmentPackages: EquipmentPackage.config,
212
- experienceLevels: ExperienceLevel.config,
213
- eyeColors: EyeColor.config,
214
- familiarSpecialAbilities: FamiliarSpecialAbility.config,
215
- familiarsTricks: FamiliarsTrick.config,
216
- fatePointSexSpecialAbilities: FatePointSexSpecialAbility.config,
217
- fatePointSpecialAbilities: FatePointSpecialAbility.config,
218
- focusRules: FocusRule.config,
219
- focusRuleSubjects: Subject.config,
220
- foolsHatEnchantments: FoolsHatEnchantment.config,
221
- gemsAndPreciousStones: GemOrPreciousStone.config,
222
- generalSpecialAbilities: GeneralSpecialAbility.config,
223
- geodeRituals: GeodeRitual.config,
224
- hairColors: HairColor.config,
225
- illuminationLightSources: IlluminationLightSource.config,
226
- illuminationRefillsAndSupplies: IlluminationRefillsOrSupplies.config,
227
- instrumentEnchantments: InstrumentEnchantment.config,
228
- jesterTricks: JesterTrick.config,
229
- jewelry: Jewelry.config,
230
- karmaSpecialAbilities: KarmaSpecialAbility.config,
231
- kirchenpraegungen: Kirchenpraegung.config,
232
- krallenkettenzauber: Krallenkettenzauber.config,
233
- languages: Language.config,
234
- lessonsCurricula: Curriculum.config,
235
- lessonsGuidelines: Guideline.config,
236
- liebesspielzeug: Liebesspielzeug.config,
237
- liturgicalChants: LiturgicalChant.config,
238
- liturgicalStyleSpecialAbilities: LiturgicalStyleSpecialAbility.config,
239
- locales: Locales.config,
240
- luxuryGoods: LuxuryGood.config,
241
- lycantropicGifts: LycantropicGift.config,
242
- magicalArtifacts: MagicalArtifact.config,
243
- magicalDances: MagicalDance.config,
244
- magicalMelodies: MagicalMelody.config,
245
- magicalRunes: MagicalRune.config,
246
- magicalSigns: MagicalSign.config,
247
- magicalSpecialAbilities: MagicalSpecialAbility.config,
248
- magicalTraditions: MagicalTradition.config,
249
- magicStyleSpecialAbilities: MagicStyleSpecialAbility.config,
250
- metaConditions: MetaCondition.config,
251
- musicalInstruments: MusicalInstrument.config,
252
- optionalRules: OptionalRule.config,
253
- orbEnchantments: OrbEnchantment.config,
254
- orienteeringAids: OrienteeringAid.config,
255
- pactCategories: PactCategory.config,
256
- pactGifts: PactGift.config,
257
- patronCategories: PatronCategory.config,
258
- patrons: Patron.config,
259
- personalityTraits: PersonalityTrait.config,
260
- poisons: Poison.config,
261
- professions: Profession.config,
262
- properties: Property.config,
263
- protectiveWardingCircleSpecialAbilities: ProtectiveWardingCircleSpecialAbility.config,
264
- publications: Publication.config,
265
- races: Race.config,
266
- rangedCombatTechniques: RangedCombatTechnique.config,
267
- reaches: Reach.config,
268
- regions: Region.config,
269
- ringEnchantments: RingEnchantment.config,
270
- rituals: Ritual.config,
271
- ropesAndChains: RopeOrChain.config,
272
- scripts: Script.config,
273
- sermons: Sermon.config,
274
- services: Service.config,
275
- sexPractices: SexPractice.config,
276
- sexSpecialAbilities: SexSpecialAbility.config,
277
- sickleRituals: SickleRitual.config,
278
- sikaryanDrainSpecialAbilities: SikaryanDrainSpecialAbility.config,
279
- skillGroups: SkillGroup.config,
280
- skillModificationLevels: SkillModificationLevel.config,
281
- skills: Skill.config,
282
- skillStyleSpecialAbilities: SkillStyleSpecialAbility.config,
283
- socialStatuses: SocialStatus.config,
284
- spells: Spell.config,
285
- spellSwordEnchantments: SpellSwordEnchantment.config,
286
- staffEnchantments: StaffEnchantment.config,
287
- states: State.config,
288
- stationary: Stationary.config,
289
- talismans: Talisman.config,
290
- targetCategories: TargetCategory.config,
291
- thievesTools: ThievesTool.config,
292
- toolsOfTheTrade: ToolOfTheTrade.config,
293
- toyEnchantments: ToyEnchantment.config,
294
- tradeSecrets: TradeSecret.config,
295
- travelGearAndTools: TravelGearOrTool.config,
296
- trinkhornzauber: Trinkhornzauber.config,
297
- ui: UI.config,
298
- vampiricGifts: VampiricGift.config,
299
- vehicles: Vehicle.config,
300
- visions: Vision.config,
301
- wandEnchantments: WandEnchantment.config,
302
- weaponAccessories: WeaponAccessory.config,
303
- weaponEnchantments: WeaponEnchantment.config,
304
- weapons: Weapon.config,
305
- zibiljaRituals: ZibiljaRitual.config,
306
- };
package/lib/errors.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import { TypeValidationError } from "./main.js";
2
- /**
3
- * Options for pretty-printing errors.
4
- */
5
- export type PrintOptions = {
6
- /**
7
- * Whether to print each error message in a file or just print that a file has
8
- * errors.
9
- * @default false
10
- */
11
- verbose?: boolean;
12
- };
13
- /**
14
- * Pretty-prints an error map.
15
- * @param errorsByFile A map from file paths to the errors that occurred in
16
- * them.
17
- * @param printOptions Configuration options for the printer.
18
- * @returns The pretty-printed error map.
19
- */
20
- export declare const printErrors: (errorsByFile: Record<string, TypeValidationError[]>, printOptions?: PrintOptions) => string;
package/lib/errors.js DELETED
@@ -1,33 +0,0 @@
1
- import { filterNullable } from "./helpers/array.js";
2
- import { collator } from "./helpers/i18n.js";
3
- /**
4
- * Pretty-prints an error map.
5
- * @param errorsByFile A map from file paths to the errors that occurred in
6
- * them.
7
- * @param printOptions Configuration options for the printer.
8
- * @returns The pretty-printed error map.
9
- */
10
- export const printErrors = (errorsByFile, printOptions = {}) => {
11
- const { verbose = false } = printOptions;
12
- return Object.entries(errorsByFile)
13
- .sort(([filePathA], [filePathB]) => collator.compare(filePathA, filePathB))
14
- .flatMap(verbose
15
- ? ([filePath, errors]) => filterNullable(errors.map(printVerboseError(filePath)))
16
- : ([filePath, errors]) => [
17
- ...(errors
18
- .filter((error) => error.keyword === "integrity" || error.keyword === "filename")
19
- .map(printVerboseError(filePath))),
20
- ...(errors.some(error => error.keyword !== "integrity" && error.keyword !== "filename")
21
- ? [errorMessageBlock([filePath], "has schema errors")]
22
- : []),
23
- ])
24
- .join("\n\n");
25
- };
26
- const printVerboseError = (filePath) => (error) => {
27
- const pathSegments = [filePath, ...error.instancePath.split("/").slice(1)];
28
- return errorMessageBlock(pathSegments, error.message ?? "");
29
- };
30
- const errorMessageBlock = (path, message) => [
31
- ...path.map((segment, i) => `${" ".repeat(i * 2)}in "${segment}":`),
32
- `${" ".repeat(path.length * 2)}${message}`
33
- ].join("\n");
@@ -1,14 +0,0 @@
1
- declare global {
2
- interface Array<T> {
3
- /**
4
- * Returns a `Promise` that resolves when all `Promise`s in the array
5
- * resolve and rejects when any of the `Promise`s in the array rejects.
6
- */
7
- promiseAll<T>(this: Promise<T>[]): Promise<T[]>;
8
- /**
9
- * Returns an object from an array of key-value pairs.
10
- */
11
- objectFromEntries<K extends string, T>(this: [key: K, value: T][]): Record<K, T>;
12
- }
13
- }
14
- export declare const filterNullable: <T>(arr: T[]) => NonNullable<T>[];
@@ -1,15 +0,0 @@
1
- Object.defineProperty(Array.prototype, "promiseAll", {
2
- configurable: true,
3
- writable: true,
4
- value: function promiseAll() {
5
- return Promise.all(this);
6
- }
7
- });
8
- Object.defineProperty(Array.prototype, "objectFromEntries", {
9
- configurable: true,
10
- writable: true,
11
- value: function objectFromEntries() {
12
- return Object.fromEntries(this);
13
- }
14
- });
15
- export const filterNullable = (arr) => arr.filter((x) => x != null);
@@ -1 +0,0 @@
1
- export declare const collator: Intl.Collator;
@@ -1 +0,0 @@
1
- export const collator = Intl.Collator(undefined, { numeric: true });
@@ -1,29 +0,0 @@
1
- /**
2
- * Recursively reads all files in a directory and its subdirectories.
3
- * @param dirPath The path to the directory to read.
4
- */
5
- export declare function readDirectoryRec(dirPath: string, filterName?: (entryName: string) => boolean): AsyncGenerator<string>;
6
- /**
7
- * Reads a JSON file and parses its content.
8
- * @param filePath The path to the JSON file.
9
- * @returns The parsed JSON content.
10
- */
11
- export declare const readJsonFile: (filePath: string) => Promise<unknown>;
12
- /**
13
- * Reads a YAML file and parses its content.
14
- * @param filePath The path to the YAML file.
15
- * @returns The parsed YAML content.
16
- */
17
- export declare const readYamlFile: (filePath: string) => Promise<unknown>;
18
- /**
19
- * Changes the extension of a file path.
20
- * @param path The path to the file.
21
- * @param ext The new extension to use.
22
- * @returns
23
- */
24
- export declare const changeFileExtension: (path: string, ext: string) => string;
25
- /**
26
- * Checks if a file name represents a hidden file.
27
- * @param name The file name to check.
28
- */
29
- export declare const isHiddenFileName: (name: string) => boolean;
package/lib/helpers/io.js DELETED
@@ -1,51 +0,0 @@
1
- import { readFile, readdir } from "node:fs/promises";
2
- import { basename, dirname, extname, join } from "node:path";
3
- import YAML from "yaml";
4
- /**
5
- * Recursively reads all files in a directory and its subdirectories.
6
- * @param dirPath The path to the directory to read.
7
- */
8
- export async function* readDirectoryRec(dirPath, filterName = () => true) {
9
- const dirEntries = await readdir(dirPath, { withFileTypes: true });
10
- for (const dirEntry of dirEntries) {
11
- if (filterName(dirEntry.name)) {
12
- const dirEntryPath = join(dirPath, dirEntry.name);
13
- if (dirEntry.isDirectory()) {
14
- yield* readDirectoryRec(dirEntryPath);
15
- }
16
- else {
17
- yield dirEntryPath;
18
- }
19
- }
20
- }
21
- }
22
- /**
23
- * Reads a JSON file and parses its content.
24
- * @param filePath The path to the JSON file.
25
- * @returns The parsed JSON content.
26
- */
27
- export const readJsonFile = async (filePath) => {
28
- const fileContent = await readFile(filePath, "utf-8");
29
- return JSON.parse(fileContent);
30
- };
31
- /**
32
- * Reads a YAML file and parses its content.
33
- * @param filePath The path to the YAML file.
34
- * @returns The parsed YAML content.
35
- */
36
- export const readYamlFile = async (filePath) => {
37
- const fileContent = await readFile(filePath, "utf-8");
38
- return YAML.parse(fileContent);
39
- };
40
- /**
41
- * Changes the extension of a file path.
42
- * @param path The path to the file.
43
- * @param ext The new extension to use.
44
- * @returns
45
- */
46
- export const changeFileExtension = (path, ext) => join(dirname(path), basename(path, extname(path)) + ext);
47
- /**
48
- * Checks if a file name represents a hidden file.
49
- * @param name The file name to check.
50
- */
51
- export const isHiddenFileName = (name) => !name.startsWith(".");
@@ -1,35 +0,0 @@
1
- /**
2
- * Extracts `null` and `undefined` from a type.
3
- */
4
- export type Nullish<T = null | undefined> = T extends null | undefined ? T : never;
5
- /**
6
- * Checks if a value is `null` or `undefined`.
7
- */
8
- export declare const isNullish: <T>(value: T) => value is Exclude<T, NonNullable<T>>;
9
- /**
10
- * Checks if a value is not `null` or `undefined`.
11
- */
12
- export declare const isNotNullish: <T>(value: T) => value is NonNullable<T>;
13
- /**
14
- * Maps a value to another value if it is not `null` or `undefined`.
15
- */
16
- export declare const mapNullable: <T, U>(value: T, map: (value: NonNullable<T>) => U) => U | Nullish<T>;
17
- /**
18
- * Maps a value to another value if it is not `null` or `undefined`, otherwise
19
- * returns a default value.
20
- */
21
- export declare const mapNullableDefault: <T, U>(value: T, map: (value: NonNullable<T>) => U, defaultValue: U) => U;
22
- /**
23
- * Returns an array, containing the value if it is not `null` or `undefined`.
24
- *
25
- * This can be useful in combination with the spread operator or
26
- * `Array.prototype.flatMap`.
27
- * @example
28
- * nullableToArray(2) // [2]
29
- * nullableToArray(undefined) // []
30
- *
31
- * [...nullableToArray(2)] // [2]
32
- * [1, ...nullableToArray(2)] // [1, 2]
33
- * [1, ...nullableToArray(undefined)] // [1]
34
- */
35
- export declare const nullableToArray: <T>(value: T) => NonNullable<T>[];
@@ -1,31 +0,0 @@
1
- /**
2
- * Checks if a value is `null` or `undefined`.
3
- */
4
- export const isNullish = (value) => value === null || value === undefined;
5
- /**
6
- * Checks if a value is not `null` or `undefined`.
7
- */
8
- export const isNotNullish = (value) => !isNullish(value);
9
- /**
10
- * Maps a value to another value if it is not `null` or `undefined`.
11
- */
12
- export const mapNullable = (value, map) => isNotNullish(value) ? map(value) : value;
13
- /**
14
- * Maps a value to another value if it is not `null` or `undefined`, otherwise
15
- * returns a default value.
16
- */
17
- export const mapNullableDefault = (value, map, defaultValue) => (isNotNullish(value) ? map(value) : defaultValue);
18
- /**
19
- * Returns an array, containing the value if it is not `null` or `undefined`.
20
- *
21
- * This can be useful in combination with the spread operator or
22
- * `Array.prototype.flatMap`.
23
- * @example
24
- * nullableToArray(2) // [2]
25
- * nullableToArray(undefined) // []
26
- *
27
- * [...nullableToArray(2)] // [2]
28
- * [1, ...nullableToArray(2)] // [1, 2]
29
- * [1, ...nullableToArray(undefined)] // [1]
30
- */
31
- export const nullableToArray = (value) => isNotNullish(value) ? [value] : [];
@@ -1 +0,0 @@
1
- export {};
@@ -1,46 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import { describe, it } from "node:test";
3
- import { isNotNullish, isNullish, mapNullable, mapNullableDefault, nullableToArray, } from "./nullable.js";
4
- describe("isNullish", () => {
5
- it("returns if a value is nullish", () => {
6
- assert.equal(isNullish(null), true);
7
- assert.equal(isNullish(undefined), true);
8
- assert.equal(isNullish(false), false);
9
- assert.equal(isNullish(0), false);
10
- assert.equal(isNullish(""), false);
11
- });
12
- });
13
- describe("isNotNullish", () => {
14
- it("returns if a value is not nullish", () => {
15
- assert.equal(isNotNullish(null), false);
16
- assert.equal(isNotNullish(undefined), false);
17
- assert.equal(isNotNullish(false), true);
18
- assert.equal(isNotNullish(0), true);
19
- assert.equal(isNotNullish(""), true);
20
- });
21
- });
22
- describe("mapNullable", () => {
23
- it("maps a value if it is not nullish", () => {
24
- assert.equal(mapNullable(2, x => x * 2), 4);
25
- });
26
- it("returns the original value if it is nullish", () => {
27
- assert.equal(mapNullable(undefined, x => x * 2), undefined);
28
- });
29
- });
30
- describe("mapNullableDefault", () => {
31
- it("maps a value if it is not nullish", () => {
32
- assert.equal(mapNullableDefault(2, x => x * 2, 0), 4);
33
- });
34
- it("returns a default if the value is nullish", () => {
35
- assert.equal(mapNullableDefault(undefined, x => x * 2, 0), 0);
36
- });
37
- });
38
- describe("nullableToArray", () => {
39
- it("wraps a non-nullish value into an array", () => {
40
- assert.deepEqual(nullableToArray(2), [2]);
41
- });
42
- it("returns an empty array if the value is null or undefined", () => {
43
- assert.deepEqual(nullableToArray(undefined), []);
44
- assert.deepEqual(nullableToArray(null), []);
45
- });
46
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * Maps all own properties of an object to a new object. Returning `undefined`
3
- * from the mapping function will omit the property from the result.
4
- */
5
- export declare const mapObject: <T extends object, U>(object: T, map: (value: T[keyof T], key: keyof T) => U | undefined) => { [key in keyof T]: Exclude<U, undefined>; };
@@ -1,16 +0,0 @@
1
- /**
2
- * Maps all own properties of an object to a new object. Returning `undefined`
3
- * from the mapping function will omit the property from the result.
4
- */
5
- export const mapObject = (object, map) => {
6
- const result = {};
7
- for (const key in object) {
8
- if (Object.hasOwn(object, key)) {
9
- const newValue = map(object[key], key);
10
- if (newValue !== undefined) {
11
- result[key] = newValue;
12
- }
13
- }
14
- }
15
- return result;
16
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,15 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import { describe, it } from "node:test";
3
- import { mapObject } from "./object.js";
4
- describe("mapObject", () => {
5
- it("maps all own properties of an object to a new object", () => {
6
- const object = { a: 1, b: 2, c: 3 };
7
- const result = mapObject(object, (value, key) => value + key);
8
- assert.deepEqual(result, { a: "1a", b: "2b", c: "3c" });
9
- });
10
- it("omits properties for which the mapping function returns undefined", () => {
11
- const object = { a: 1, b: 2, c: 3 };
12
- const result = mapObject(object, (value, key) => (key === "b" ? undefined : value + key));
13
- assert.deepEqual(result, { a: "1a", c: "3c" });
14
- });
15
- });
@@ -1,13 +0,0 @@
1
- /**
2
- * A path segment descriptor is either a key or an index.
3
- */
4
- export type PathSegmentDescriptor = {
5
- k: string;
6
- } | {
7
- i: number;
8
- };
9
- /**
10
- * A path descriptor is a list of path segment descriptors.
11
- */
12
- export type PathDescriptor = PathSegmentDescriptor[];
13
- export declare const printPathDescriptor: (pathDescriptor: PathDescriptor) => string;