optolith-database-schema 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/lib/config.d.ts +156 -5
  3. package/lib/config.js +154 -154
  4. package/lib/errors.d.ts +20 -0
  5. package/lib/errors.js +33 -0
  6. package/lib/helpers/array.d.ts +14 -0
  7. package/lib/helpers/array.js +15 -0
  8. package/lib/helpers/i18n.d.ts +1 -0
  9. package/lib/helpers/i18n.js +1 -0
  10. package/lib/helpers/io.d.ts +29 -0
  11. package/lib/helpers/io.js +51 -0
  12. package/lib/helpers/objectPath.d.ts +13 -0
  13. package/lib/helpers/objectPath.js +3 -0
  14. package/lib/helpers/pair.d.ts +20 -0
  15. package/lib/helpers/pair.js +20 -0
  16. package/lib/helpers/result.d.ts +57 -0
  17. package/lib/helpers/result.js +45 -0
  18. package/lib/helpers/typeSafety.d.ts +6 -0
  19. package/lib/helpers/typeSafety.js +8 -0
  20. package/lib/main.d.ts +50 -15
  21. package/lib/main.js +46 -133
  22. package/lib/typeConfig.d.ts +10 -0
  23. package/lib/typeConfig.js +1 -0
  24. package/lib/types/Advantage.d.ts +4 -3
  25. package/lib/types/Advantage.js +9 -2
  26. package/lib/types/AnimalDisease.d.ts +4 -3
  27. package/lib/types/AnimalDisease.js +9 -2
  28. package/lib/types/AnimalType.d.ts +4 -3
  29. package/lib/types/AnimalType.js +9 -2
  30. package/lib/types/ArcaneBardTradition.d.ts +3 -2
  31. package/lib/types/ArcaneBardTradition.js +9 -2
  32. package/lib/types/ArcaneDancerTradition.d.ts +3 -2
  33. package/lib/types/ArcaneDancerTradition.js +9 -2
  34. package/lib/types/Aspect.d.ts +4 -3
  35. package/lib/types/Aspect.js +9 -2
  36. package/lib/types/Attribute.d.ts +4 -5
  37. package/lib/types/Attribute.js +9 -4
  38. package/lib/types/Blessing.d.ts +12 -11
  39. package/lib/types/Blessing.js +9 -2
  40. package/lib/types/Cantrip.d.ts +18 -17
  41. package/lib/types/Cantrip.js +9 -2
  42. package/lib/types/Ceremony.d.ts +6 -5
  43. package/lib/types/Ceremony.js +9 -2
  44. package/lib/types/CombatTechnique_Close.d.ts +7 -6
  45. package/lib/types/CombatTechnique_Close.js +9 -2
  46. package/lib/types/CombatTechnique_Ranged.d.ts +7 -6
  47. package/lib/types/CombatTechnique_Ranged.js +9 -2
  48. package/lib/types/Condition.d.ts +6 -5
  49. package/lib/types/Condition.js +9 -2
  50. package/lib/types/Continent.d.ts +4 -3
  51. package/lib/types/Continent.js +9 -2
  52. package/lib/types/Culture.d.ts +25 -24
  53. package/lib/types/Culture.js +13 -6
  54. package/lib/types/DerivedCharacteristic.d.ts +6 -5
  55. package/lib/types/DerivedCharacteristic.js +9 -2
  56. package/lib/types/Disadvantage.d.ts +4 -3
  57. package/lib/types/Disadvantage.js +9 -2
  58. package/lib/types/Disease.d.ts +4 -3
  59. package/lib/types/Disease.js +9 -2
  60. package/lib/types/Element.d.ts +4 -3
  61. package/lib/types/Element.js +9 -2
  62. package/lib/types/ExperienceLevel.d.ts +4 -3
  63. package/lib/types/ExperienceLevel.js +9 -2
  64. package/lib/types/EyeColor.d.ts +4 -3
  65. package/lib/types/EyeColor.js +9 -2
  66. package/lib/types/FamiliarsTrick.d.ts +26 -25
  67. package/lib/types/FamiliarsTrick.js +9 -2
  68. package/lib/types/HairColor.d.ts +4 -3
  69. package/lib/types/HairColor.js +9 -2
  70. package/lib/types/Kirchenpraegung.d.ts +3 -2
  71. package/lib/types/Kirchenpraegung.js +9 -2
  72. package/lib/types/Lessons_Curriculum.d.ts +22 -21
  73. package/lib/types/Lessons_Curriculum.js +9 -2
  74. package/lib/types/Lessons_Guideline.d.ts +4 -3
  75. package/lib/types/Lessons_Guideline.js +9 -2
  76. package/lib/types/LiturgicalChant.d.ts +6 -5
  77. package/lib/types/LiturgicalChant.js +9 -2
  78. package/lib/types/Locale.d.ts +4 -7
  79. package/lib/types/Locale.js +10 -3
  80. package/lib/types/MetaCondition.d.ts +6 -5
  81. package/lib/types/MetaCondition.js +9 -2
  82. package/lib/types/PactCategory.d.ts +10 -9
  83. package/lib/types/PactCategory.js +9 -2
  84. package/lib/types/Patron.d.ts +15 -14
  85. package/lib/types/Patron.js +11 -4
  86. package/lib/types/PatronCategory.d.ts +4 -3
  87. package/lib/types/PatronCategory.js +9 -2
  88. package/lib/types/PersonalityTrait.d.ts +7 -6
  89. package/lib/types/PersonalityTrait.js +9 -2
  90. package/lib/types/Profession.d.ts +43 -42
  91. package/lib/types/Profession.js +10 -3
  92. package/lib/types/Property.d.ts +4 -3
  93. package/lib/types/Property.js +9 -2
  94. package/lib/types/Race.d.ts +18 -17
  95. package/lib/types/Race.js +10 -3
  96. package/lib/types/Region.d.ts +4 -3
  97. package/lib/types/Region.js +9 -2
  98. package/lib/types/Ritual.d.ts +6 -5
  99. package/lib/types/Ritual.js +9 -2
  100. package/lib/types/Service.d.ts +6 -5
  101. package/lib/types/Service.js +10 -3
  102. package/lib/types/SexPractice.d.ts +5 -4
  103. package/lib/types/SexPractice.js +9 -2
  104. package/lib/types/Skill.d.ts +10 -9
  105. package/lib/types/Skill.js +11 -4
  106. package/lib/types/SkillGroup.d.ts +4 -3
  107. package/lib/types/SkillGroup.js +9 -2
  108. package/lib/types/SkillModificationLevel.d.ts +8 -7
  109. package/lib/types/SkillModificationLevel.js +10 -3
  110. package/lib/types/SocialStatus.d.ts +4 -3
  111. package/lib/types/SocialStatus.js +9 -2
  112. package/lib/types/Spell.d.ts +6 -5
  113. package/lib/types/Spell.js +9 -2
  114. package/lib/types/State.d.ts +6 -5
  115. package/lib/types/State.js +9 -2
  116. package/lib/types/Talisman.d.ts +5 -4
  117. package/lib/types/Talisman.js +10 -3
  118. package/lib/types/TargetCategory.d.ts +5 -4
  119. package/lib/types/TargetCategory.js +9 -2
  120. package/lib/types/UI.d.ts +3 -2
  121. package/lib/types/UI.js +9 -2
  122. package/lib/types/_Activatable.d.ts +109 -109
  123. package/lib/types/_Activatable.js +5 -5
  124. package/lib/types/_ActivatableSelectOptionCategory.d.ts +27 -27
  125. package/lib/types/_ActivatableSelectOptionCategory.js +1 -1
  126. package/lib/types/_ActivatableSkill.d.ts +8 -8
  127. package/lib/types/_ActivatableSkillCastingTime.d.ts +8 -8
  128. package/lib/types/_ActivatableSkillCastingTime.js +1 -1
  129. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +2 -2
  130. package/lib/types/_ActivatableSkillCheckResultBased.js +2 -2
  131. package/lib/types/_ActivatableSkillCost.d.ts +20 -20
  132. package/lib/types/_ActivatableSkillDuration.d.ts +13 -13
  133. package/lib/types/_ActivatableSkillDuration.js +1 -1
  134. package/lib/types/_ActivatableSkillEffect.d.ts +4 -4
  135. package/lib/types/_ActivatableSkillRange.d.ts +6 -6
  136. package/lib/types/_ActivatableSkillRange.js +1 -1
  137. package/lib/types/_ActivatableSkillTargetCategory.d.ts +4 -4
  138. package/lib/types/_AlternativeNames.d.ts +1 -1
  139. package/lib/types/_ArcaneTradition.d.ts +2 -2
  140. package/lib/types/_Blessed.d.ts +2 -2
  141. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +1 -1
  142. package/lib/types/_Dice.d.ts +1 -1
  143. package/lib/types/_Dice.js +1 -1
  144. package/lib/types/_DiseasePoison.d.ts +4 -4
  145. package/lib/types/_DiseasePoison.js +1 -1
  146. package/lib/types/_Enhancements.d.ts +3 -3
  147. package/lib/types/_I18n.d.ts +1 -1
  148. package/lib/types/_Identifier.d.ts +132 -132
  149. package/lib/types/_IdentifierGroup.d.ts +20 -20
  150. package/lib/types/_ImprovementCost.js +1 -1
  151. package/lib/types/_Influence.d.ts +3 -3
  152. package/lib/types/_LocaleMap.d.ts +1 -1
  153. package/lib/types/_NonEmptyString.d.ts +2 -2
  154. package/lib/types/_Prerequisite.d.ts +21 -21
  155. package/lib/types/_ResponsiveText.d.ts +3 -3
  156. package/lib/types/_Sex.js +1 -1
  157. package/lib/types/_SimpleReferences.d.ts +44 -44
  158. package/lib/types/_SkillCheck.d.ts +1 -1
  159. package/lib/types/_SkillCheck.js +1 -1
  160. package/lib/types/_Spellwork.d.ts +2 -2
  161. package/lib/types/equipment/EquipmentPackage.d.ts +6 -5
  162. package/lib/types/equipment/EquipmentPackage.js +9 -2
  163. package/lib/types/equipment/item/Alchemicum.d.ts +3 -2
  164. package/lib/types/equipment/item/Alchemicum.js +9 -2
  165. package/lib/types/equipment/item/Ammunition.d.ts +6 -5
  166. package/lib/types/equipment/item/Ammunition.js +9 -2
  167. package/lib/types/equipment/item/Animal.d.ts +4 -3
  168. package/lib/types/equipment/item/Animal.js +9 -2
  169. package/lib/types/equipment/item/AnimalCare.d.ts +8 -7
  170. package/lib/types/equipment/item/AnimalCare.js +9 -2
  171. package/lib/types/equipment/item/Armor.d.ts +15 -14
  172. package/lib/types/equipment/item/Armor.js +9 -2
  173. package/lib/types/equipment/item/BandageOrRemedy.d.ts +4 -3
  174. package/lib/types/equipment/item/BandageOrRemedy.js +9 -2
  175. package/lib/types/equipment/item/Book.d.ts +6 -5
  176. package/lib/types/equipment/item/Book.js +9 -2
  177. package/lib/types/equipment/item/CeremonialItem.d.ts +4 -3
  178. package/lib/types/equipment/item/CeremonialItem.js +9 -2
  179. package/lib/types/equipment/item/Clothes.d.ts +3 -2
  180. package/lib/types/equipment/item/Clothes.js +9 -2
  181. package/lib/types/equipment/item/Container.d.ts +3 -2
  182. package/lib/types/equipment/item/Container.js +9 -2
  183. package/lib/types/equipment/item/Elixir.d.ts +6 -5
  184. package/lib/types/equipment/item/Elixir.js +9 -2
  185. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +4 -3
  186. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +9 -2
  187. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +6 -5
  188. package/lib/types/equipment/item/GemOrPreciousStone.js +9 -2
  189. package/lib/types/equipment/item/IlluminationLightSource.d.ts +6 -5
  190. package/lib/types/equipment/item/IlluminationLightSource.js +10 -3
  191. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +3 -2
  192. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +9 -2
  193. package/lib/types/equipment/item/Jewelry.d.ts +7 -6
  194. package/lib/types/equipment/item/Jewelry.js +9 -2
  195. package/lib/types/equipment/item/Liebesspielzeug.d.ts +3 -2
  196. package/lib/types/equipment/item/Liebesspielzeug.js +9 -2
  197. package/lib/types/equipment/item/LuxuryGood.d.ts +4 -3
  198. package/lib/types/equipment/item/LuxuryGood.js +9 -2
  199. package/lib/types/equipment/item/MagicalArtifact.d.ts +6 -5
  200. package/lib/types/equipment/item/MagicalArtifact.js +9 -2
  201. package/lib/types/equipment/item/MusicalInstrument.d.ts +4 -3
  202. package/lib/types/equipment/item/MusicalInstrument.js +9 -2
  203. package/lib/types/equipment/item/OrienteeringAid.d.ts +3 -2
  204. package/lib/types/equipment/item/OrienteeringAid.js +9 -2
  205. package/lib/types/equipment/item/Poison.d.ts +30 -29
  206. package/lib/types/equipment/item/Poison.js +12 -5
  207. package/lib/types/equipment/item/RopeOrChain.d.ts +3 -2
  208. package/lib/types/equipment/item/RopeOrChain.js +9 -2
  209. package/lib/types/equipment/item/Stationary.d.ts +3 -2
  210. package/lib/types/equipment/item/Stationary.js +9 -2
  211. package/lib/types/equipment/item/ThievesTool.d.ts +3 -2
  212. package/lib/types/equipment/item/ThievesTool.js +9 -2
  213. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +7 -6
  214. package/lib/types/equipment/item/ToolOfTheTrade.js +9 -2
  215. package/lib/types/equipment/item/TravelGearOrTool.d.ts +3 -2
  216. package/lib/types/equipment/item/TravelGearOrTool.js +9 -2
  217. package/lib/types/equipment/item/Vehicle.d.ts +4 -3
  218. package/lib/types/equipment/item/Vehicle.js +9 -2
  219. package/lib/types/equipment/item/Weapon.d.ts +11 -10
  220. package/lib/types/equipment/item/Weapon.js +9 -2
  221. package/lib/types/equipment/item/WeaponAccessory.d.ts +3 -2
  222. package/lib/types/equipment/item/WeaponAccessory.js +9 -2
  223. package/lib/types/equipment/item/_Herbary.d.ts +1 -1
  224. package/lib/types/equipment/item/_Herbary.js +2 -2
  225. package/lib/types/equipment/item/_Item.d.ts +12 -12
  226. package/lib/types/equipment/item/_MeleeWeapon.d.ts +7 -7
  227. package/lib/types/equipment/item/_RangedWeapon.d.ts +6 -6
  228. package/lib/types/equipment/item/_Weapon.d.ts +5 -5
  229. package/lib/types/equipment/item/sub/ArmorType.d.ts +4 -3
  230. package/lib/types/equipment/item/sub/ArmorType.js +9 -2
  231. package/lib/types/equipment/item/sub/Reach.d.ts +4 -3
  232. package/lib/types/equipment/item/sub/Reach.js +9 -2
  233. package/lib/types/magicalActions/AnimistPower.d.ts +20 -19
  234. package/lib/types/magicalActions/AnimistPower.js +9 -2
  235. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +4 -3
  236. package/lib/types/magicalActions/AnimistPower_Tribe.js +9 -2
  237. package/lib/types/magicalActions/Curse.d.ts +14 -13
  238. package/lib/types/magicalActions/Curse.js +9 -2
  239. package/lib/types/magicalActions/DominationRitual.d.ts +13 -12
  240. package/lib/types/magicalActions/DominationRitual.js +9 -2
  241. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +11 -10
  242. package/lib/types/magicalActions/ElvenMagicalSong.js +9 -2
  243. package/lib/types/magicalActions/GeodeRitual.d.ts +14 -13
  244. package/lib/types/magicalActions/GeodeRitual.js +9 -2
  245. package/lib/types/magicalActions/JesterTrick.d.ts +13 -12
  246. package/lib/types/magicalActions/JesterTrick.js +9 -2
  247. package/lib/types/magicalActions/MagicalDance.d.ts +10 -9
  248. package/lib/types/magicalActions/MagicalDance.js +9 -2
  249. package/lib/types/magicalActions/MagicalMelody.d.ts +10 -9
  250. package/lib/types/magicalActions/MagicalMelody.js +9 -2
  251. package/lib/types/magicalActions/MagicalRune.d.ts +26 -25
  252. package/lib/types/magicalActions/MagicalRune.js +9 -2
  253. package/lib/types/magicalActions/ZibiljaRitual.d.ts +7 -6
  254. package/lib/types/magicalActions/ZibiljaRitual.js +9 -2
  255. package/lib/types/magicalActions/_MusicTradition.d.ts +3 -3
  256. package/lib/types/magicalActions/_MusicTradition.js +2 -2
  257. package/lib/types/magicalActions/_SkillReference.d.ts +1 -1
  258. package/lib/types/magicalActions/_SkillReference.js +1 -1
  259. package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +1 -1
  260. package/lib/types/prerequisites/DisplayOption.d.ts +2 -2
  261. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +15 -15
  262. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +1 -1
  263. package/lib/types/prerequisites/single/AncestorBloodPrerequisite.d.ts +1 -1
  264. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +1 -1
  265. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +1 -1
  266. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +4 -4
  267. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +1 -1
  268. package/lib/types/prerequisites/single/PactPrerequisite.d.ts +1 -1
  269. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +1 -1
  270. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +1 -1
  271. package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +1 -1
  272. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +1 -1
  273. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +6 -6
  274. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +1 -1
  275. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +1 -1
  276. package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +1 -1
  277. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +1 -1
  278. package/lib/types/prerequisites/single/SexPrerequisite.d.ts +1 -1
  279. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +1 -1
  280. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +1 -1
  281. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +1 -1
  282. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +1 -1
  283. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +2 -2
  284. package/lib/types/prerequisites/single/TextPrerequisite.js +2 -2
  285. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +2 -2
  286. package/lib/types/prerequisites/single/TraditionPrerequisite.js +2 -2
  287. package/lib/types/rule/CoreRule.d.ts +15 -14
  288. package/lib/types/rule/CoreRule.js +10 -3
  289. package/lib/types/rule/FocusRule.d.ts +6 -5
  290. package/lib/types/rule/FocusRule.js +9 -2
  291. package/lib/types/rule/FocusRule_Subject.d.ts +4 -3
  292. package/lib/types/rule/FocusRule_Subject.js +9 -2
  293. package/lib/types/rule/OptionalRule.d.ts +6 -5
  294. package/lib/types/rule/OptionalRule.js +9 -2
  295. package/lib/types/source/Publication.d.ts +4 -3
  296. package/lib/types/source/Publication.js +10 -3
  297. package/lib/types/source/_Erratum.d.ts +2 -2
  298. package/lib/types/source/_PublicationRef.d.ts +13 -13
  299. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +6 -5
  300. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +9 -2
  301. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +6 -5
  302. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +9 -2
  303. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +6 -5
  304. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +9 -2
  305. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +6 -5
  306. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +9 -2
  307. package/lib/types/specialAbility/AncestorGlyph.d.ts +6 -5
  308. package/lib/types/specialAbility/AncestorGlyph.js +9 -2
  309. package/lib/types/specialAbility/BlessedTradition.d.ts +12 -11
  310. package/lib/types/specialAbility/BlessedTradition.js +9 -2
  311. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +6 -5
  312. package/lib/types/specialAbility/BrawlingSpecialAbility.js +9 -2
  313. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +4 -3
  314. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +9 -2
  315. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +4 -3
  316. package/lib/types/specialAbility/CombatSpecialAbility.js +9 -2
  317. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +6 -5
  318. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +9 -2
  319. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +5 -4
  320. package/lib/types/specialAbility/CommandSpecialAbility.js +9 -2
  321. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +6 -5
  322. package/lib/types/specialAbility/FamiliarSpecialAbility.js +9 -2
  323. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +6 -5
  324. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +9 -2
  325. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +6 -5
  326. package/lib/types/specialAbility/FatePointSpecialAbility.js +9 -2
  327. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +4 -3
  328. package/lib/types/specialAbility/GeneralSpecialAbility.js +9 -2
  329. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +4 -3
  330. package/lib/types/specialAbility/KarmaSpecialAbility.js +9 -2
  331. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +6 -5
  332. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +9 -2
  333. package/lib/types/specialAbility/LycantropicGift.d.ts +6 -5
  334. package/lib/types/specialAbility/LycantropicGift.js +9 -2
  335. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +6 -5
  336. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +9 -2
  337. package/lib/types/specialAbility/MagicalSign.d.ts +6 -5
  338. package/lib/types/specialAbility/MagicalSign.js +9 -2
  339. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +4 -3
  340. package/lib/types/specialAbility/MagicalSpecialAbility.js +9 -2
  341. package/lib/types/specialAbility/MagicalTradition.d.ts +7 -6
  342. package/lib/types/specialAbility/MagicalTradition.js +9 -2
  343. package/lib/types/specialAbility/PactGift.d.ts +13 -12
  344. package/lib/types/specialAbility/PactGift.js +11 -4
  345. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +6 -5
  346. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +9 -2
  347. package/lib/types/specialAbility/Sermon.d.ts +6 -5
  348. package/lib/types/specialAbility/Sermon.js +9 -2
  349. package/lib/types/specialAbility/SexSpecialAbility.d.ts +6 -5
  350. package/lib/types/specialAbility/SexSpecialAbility.js +9 -2
  351. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +6 -5
  352. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +9 -2
  353. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +6 -5
  354. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +9 -2
  355. package/lib/types/specialAbility/VampiricGift.d.ts +4 -3
  356. package/lib/types/specialAbility/VampiricGift.js +9 -2
  357. package/lib/types/specialAbility/Vision.d.ts +6 -5
  358. package/lib/types/specialAbility/Vision.js +9 -2
  359. package/lib/types/specialAbility/_Tradition.d.ts +1 -1
  360. package/lib/types/specialAbility/sub/Language.d.ts +12 -11
  361. package/lib/types/specialAbility/sub/Language.js +9 -2
  362. package/lib/types/specialAbility/sub/Script.d.ts +6 -5
  363. package/lib/types/specialAbility/sub/Script.js +9 -2
  364. package/lib/types/specialAbility/sub/TradeSecret.d.ts +6 -5
  365. package/lib/types/specialAbility/sub/TradeSecret.js +9 -2
  366. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +1 -1
  367. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +4 -3
  368. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +9 -2
  369. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +4 -3
  370. package/lib/types/traditionArtifacts/AttireEnchantment.js +9 -2
  371. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +4 -3
  372. package/lib/types/traditionArtifacts/BowlEnchantment.js +9 -2
  373. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +5 -4
  374. package/lib/types/traditionArtifacts/CauldronEnchantment.js +9 -2
  375. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +4 -3
  376. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +9 -2
  377. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +8 -7
  378. package/lib/types/traditionArtifacts/DaggerRitual.js +9 -2
  379. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +4 -3
  380. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +9 -2
  381. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +4 -3
  382. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +9 -2
  383. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +4 -3
  384. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +9 -2
  385. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +4 -3
  386. package/lib/types/traditionArtifacts/OrbEnchantment.js +9 -2
  387. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +4 -3
  388. package/lib/types/traditionArtifacts/RingEnchantment.js +9 -2
  389. package/lib/types/traditionArtifacts/SickleRitual.d.ts +4 -3
  390. package/lib/types/traditionArtifacts/SickleRitual.js +9 -2
  391. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +4 -3
  392. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +9 -2
  393. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +4 -3
  394. package/lib/types/traditionArtifacts/StaffEnchantment.js +9 -2
  395. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +4 -3
  396. package/lib/types/traditionArtifacts/ToyEnchantment.js +9 -2
  397. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +4 -3
  398. package/lib/types/traditionArtifacts/Trinkhornzauber.js +9 -2
  399. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +4 -3
  400. package/lib/types/traditionArtifacts/WandEnchantment.js +9 -2
  401. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +4 -3
  402. package/lib/types/traditionArtifacts/WeaponEnchantment.js +9 -2
  403. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +6 -5
  404. package/lib/types/traditionArtifacts/sub/AnimalShape.js +9 -2
  405. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +4 -3
  406. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +9 -2
  407. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +4 -3
  408. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +9 -2
  409. package/lib/types/traditionArtifacts/sub/Brew.d.ts +4 -3
  410. package/lib/types/traditionArtifacts/sub/Brew.js +9 -2
  411. package/lib/validation/builders/integrity.d.ts +57 -0
  412. package/lib/validation/builders/integrity.js +44 -0
  413. package/lib/validation/builders/naming.d.ts +13 -0
  414. package/lib/validation/builders/naming.js +14 -0
  415. package/lib/validation/builders/schema.d.ts +31 -0
  416. package/lib/validation/builders/schema.js +32 -0
  417. package/lib/validation/filename.d.ts +9 -0
  418. package/lib/validation/filename.js +10 -0
  419. package/lib/validation/raw.d.ts +9 -0
  420. package/lib/validation/raw.js +55 -0
  421. package/lib/validation/schema.d.ts +6 -22
  422. package/lib/validation/schema.js +31 -32
  423. package/package.json +11 -6
  424. package/schema/Locale.schema.json +1 -8
  425. package/config/directories.d.ts +0 -4
  426. package/config/directories.js +0 -14
  427. package/lib/validation/integrity.d.ts +0 -16
  428. package/lib/validation/integrity.js +0 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
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.
4
4
 
5
+ ## [0.11.0](https://github.com/elyukai/optolith-database-schema/compare/v0.10.1...v0.11.0) (2023-05-27)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * add integrity validation capabilities
11
+ * use exports field in package.json
12
+
13
+ ### Features
14
+
15
+ * add integrity validation capabilities ([d39110e](https://github.com/elyukai/optolith-database-schema/commit/d39110ea320348260d690bdf9f8d19734709c10c))
16
+
17
+
18
+ ### build
19
+
20
+ * use exports field in package.json ([771682a](https://github.com/elyukai/optolith-database-schema/commit/771682abca14539ead8b714c2f931be570426f85))
21
+
22
+ ### [0.10.1](https://github.com/elyukai/optolith-database-schema/compare/v0.10.0...v0.10.1) (2023-05-01)
23
+
5
24
  ## [0.10.0](https://github.com/elyukai/optolith-database-schema/compare/v0.9.0...v0.10.0) (2023-05-01)
6
25
 
7
26
 
package/lib/config.d.ts CHANGED
@@ -151,8 +151,7 @@ import * as Trinkhornzauber from "./types/traditionArtifacts/Trinkhornzauber.js"
151
151
  import * as WandEnchantment from "./types/traditionArtifacts/WandEnchantment.js";
152
152
  import * as WeaponEnchantment from "./types/traditionArtifacts/WeaponEnchantment.js";
153
153
  import * as UI from "./types/UI.js";
154
- import { TypeValidator } from "./validation/schema.js";
155
- export declare type TypeMap = {
154
+ export type TypeMap = {
156
155
  advancedCombatSpecialAbilities: AdvancedCombatSpecialAbility.AdvancedCombatSpecialAbility;
157
156
  advancedKarmaSpecialAbilities: AdvancedKarmaSpecialAbility.AdvancedKarmaSpecialAbility;
158
157
  advancedMagicalSpecialAbilities: AdvancedMagicalSpecialAbility.AdvancedMagicalSpecialAbility;
@@ -239,7 +238,7 @@ export declare type TypeMap = {
239
238
  liebesspielzeug: Liebesspielzeug.Liebesspielzeug;
240
239
  liturgicalChants: LiturgicalChant.LiturgicalChant;
241
240
  liturgicalStyleSpecialAbilities: LiturgicalStyleSpecialAbility.LiturgicalStyleSpecialAbility;
242
- locales: Locales.Locales;
241
+ locales: Locales.Locale;
243
242
  luxuryGoods: LuxuryGood.LuxuryGood;
244
243
  lycantropicGifts: LycantropicGift.LycantropicGift;
245
244
  magicalArtifacts: MagicalArtifact.MagicalArtifact;
@@ -307,6 +306,158 @@ export declare type TypeMap = {
307
306
  weapons: Weapon.Weapon;
308
307
  zibiljaRituals: ZibiljaRitual.ZibiljaRitual;
309
308
  };
310
- export declare const typeValidatorMap: {
311
- [K in keyof TypeMap]: TypeValidator<TypeMap[K]>;
309
+ export declare const configMap: {
310
+ advancedCombatSpecialAbilities: import("./typeConfig.js").TypeConfig<AdvancedCombatSpecialAbility.AdvancedCombatSpecialAbility>;
311
+ advancedKarmaSpecialAbilities: import("./typeConfig.js").TypeConfig<AdvancedKarmaSpecialAbility.AdvancedKarmaSpecialAbility>;
312
+ advancedMagicalSpecialAbilities: import("./typeConfig.js").TypeConfig<AdvancedMagicalSpecialAbility.AdvancedMagicalSpecialAbility>;
313
+ advancedSkillSpecialAbilities: import("./typeConfig.js").TypeConfig<AdvancedSkillSpecialAbility.AdvancedSkillSpecialAbility>;
314
+ advantages: import("./typeConfig.js").TypeConfig<Advantage.Advantage>;
315
+ alchemicae: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
316
+ ammunition: import("./typeConfig.js").TypeConfig<Ammunition.Ammunition>;
317
+ ancestorGlyphs: import("./typeConfig.js").TypeConfig<AncestorGlyph.AncestorGlyph>;
318
+ animalCare: import("./typeConfig.js").TypeConfig<AnimalCare.AnimalCare>;
319
+ animalDiseases: import("./typeConfig.js").TypeConfig<AnimalDisease.AnimalDisease>;
320
+ animals: import("./typeConfig.js").TypeConfig<Animal.Animal>;
321
+ animalShapePaths: import("./typeConfig.js").TypeConfig<AnimalShapePath.AnimalShapePath>;
322
+ animalShapes: import("./typeConfig.js").TypeConfig<AnimalShape.AnimalShape>;
323
+ animalShapeSizes: import("./typeConfig.js").TypeConfig<AnimalShapeSize.AnimalShapeSize>;
324
+ animalTypes: import("./typeConfig.js").TypeConfig<AnimalType.AnimalType>;
325
+ animistPowers: import("./typeConfig.js").TypeConfig<AnimistPower.AnimistPower>;
326
+ animistPowerTribes: import("./typeConfig.js").TypeConfig<Tribe.Tribe>;
327
+ arcaneBardTraditions: import("./typeConfig.js").TypeConfig<import("./types/_ArcaneTradition.js").ArcaneTradition>;
328
+ arcaneDancerTraditions: import("./typeConfig.js").TypeConfig<import("./types/_ArcaneTradition.js").ArcaneTradition>;
329
+ arcaneOrbEnchantments: import("./typeConfig.js").TypeConfig<ArcaneOrbEnchantment.ArcaneOrbEnchantment>;
330
+ armors: import("./typeConfig.js").TypeConfig<Armor.Armor>;
331
+ armorTypes: import("./typeConfig.js").TypeConfig<ArmorType.ArmorType>;
332
+ aspects: import("./typeConfig.js").TypeConfig<Aspect.Aspect>;
333
+ attireEnchantments: import("./typeConfig.js").TypeConfig<AttireEnchantment.AttireEnchantment>;
334
+ attributes: import("./typeConfig.js").TypeConfig<Attribute.Attribute>;
335
+ bandagesAndRemedies: import("./typeConfig.js").TypeConfig<BandageOrRemedy.BandageOrRemedy>;
336
+ blessedTraditions: import("./typeConfig.js").TypeConfig<BlessedTradition.BlessedTradition>;
337
+ blessings: import("./typeConfig.js").TypeConfig<Blessing.Blessing>;
338
+ books: import("./typeConfig.js").TypeConfig<Book.Book>;
339
+ bowlEnchantments: import("./typeConfig.js").TypeConfig<BowlEnchantment.BowlEnchantment>;
340
+ brawlingSpecialAbilities: import("./typeConfig.js").TypeConfig<BrawlingSpecialAbility.BrawlingSpecialAbility>;
341
+ brews: import("./typeConfig.js").TypeConfig<Brew.Brew>;
342
+ cantrips: import("./typeConfig.js").TypeConfig<Cantrip.Cantrip>;
343
+ cauldronEnchantments: import("./typeConfig.js").TypeConfig<CauldronEnchantment.CauldronEnchantment>;
344
+ ceremonialItems: import("./typeConfig.js").TypeConfig<CeremonialItem.CeremonialItem>;
345
+ ceremonialItemSpecialAbilities: import("./typeConfig.js").TypeConfig<CeremonialItemSpecialAbility.CeremonialItemSpecialAbility>;
346
+ ceremonies: import("./typeConfig.js").TypeConfig<Ceremony.Ceremony>;
347
+ chronicleEnchantments: import("./typeConfig.js").TypeConfig<ChronicleEnchantment.ChronicleEnchantment>;
348
+ closeCombatTechniques: import("./typeConfig.js").TypeConfig<CloseCombatTechnique.CloseCombatTechnique>;
349
+ clothes: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
350
+ combatSpecialAbilities: import("./typeConfig.js").TypeConfig<CombatSpecialAbility.CombatSpecialAbility>;
351
+ combatStyleSpecialAbilities: import("./typeConfig.js").TypeConfig<CombatStyleSpecialAbility.CombatStyleSpecialAbility>;
352
+ commandSpecialAbilities: import("./typeConfig.js").TypeConfig<CommandSpecialAbility.CommandSpecialAbility>;
353
+ conditions: import("./typeConfig.js").TypeConfig<Condition.Condition>;
354
+ containers: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
355
+ continents: import("./typeConfig.js").TypeConfig<Continent.Continent>;
356
+ coreRules: import("./typeConfig.js").TypeConfig<CoreRule.CoreRule>;
357
+ cultures: import("./typeConfig.js").TypeConfig<Culture.Culture>;
358
+ curses: import("./typeConfig.js").TypeConfig<Curse.Curse>;
359
+ daggerRituals: import("./typeConfig.js").TypeConfig<DaggerRitual.DaggerRitual>;
360
+ derivedCharacteristics: import("./typeConfig.js").TypeConfig<DerivedCharacteristic.DerivedCharacteristic>;
361
+ disadvantages: import("./typeConfig.js").TypeConfig<Disadvantage.Disadvantage>;
362
+ diseases: import("./typeConfig.js").TypeConfig<Disease.Disease>;
363
+ dominationRituals: import("./typeConfig.js").TypeConfig<DominationRitual.DominationRitual>;
364
+ elements: import("./typeConfig.js").TypeConfig<Element.Element>;
365
+ elixirs: import("./typeConfig.js").TypeConfig<Elixir.Elixir>;
366
+ elvenMagicalSongs: import("./typeConfig.js").TypeConfig<ElvenMagicalSong.ElvenMagicalSong>;
367
+ equipmentOfBlessedOnes: import("./typeConfig.js").TypeConfig<EquipmentOfBlessedOnes.EquipmentOfBlessedOnes>;
368
+ equipmentPackages: import("./typeConfig.js").TypeConfig<EquipmentPackage.EquipmentPackage>;
369
+ experienceLevels: import("./typeConfig.js").TypeConfig<ExperienceLevel.ExperienceLevel>;
370
+ eyeColors: import("./typeConfig.js").TypeConfig<EyeColor.EyeColor>;
371
+ familiarSpecialAbilities: import("./typeConfig.js").TypeConfig<FamiliarSpecialAbility.FamiliarSpecialAbility>;
372
+ familiarsTricks: import("./typeConfig.js").TypeConfig<FamiliarsTrick.FamiliarsTrick>;
373
+ fatePointSexSpecialAbilities: import("./typeConfig.js").TypeConfig<FatePointSexSpecialAbility.FatePointSexSpecialAbility>;
374
+ fatePointSpecialAbilities: import("./typeConfig.js").TypeConfig<FatePointSpecialAbility.FatePointSpecialAbility>;
375
+ focusRules: import("./typeConfig.js").TypeConfig<FocusRule.FocusRule>;
376
+ focusRuleSubjects: import("./typeConfig.js").TypeConfig<Subject.Subject>;
377
+ foolsHatEnchantments: import("./typeConfig.js").TypeConfig<FoolsHatEnchantment.FoolsHatEnchantment>;
378
+ gemsAndPreciousStones: import("./typeConfig.js").TypeConfig<GemOrPreciousStone.GemOrPreciousStone>;
379
+ generalSpecialAbilities: import("./typeConfig.js").TypeConfig<GeneralSpecialAbility.GeneralSpecialAbility>;
380
+ geodeRituals: import("./typeConfig.js").TypeConfig<GeodeRitual.GeodeRitual>;
381
+ hairColors: import("./typeConfig.js").TypeConfig<HairColor.HairColor>;
382
+ illuminationLightSources: import("./typeConfig.js").TypeConfig<IlluminationLightSource.IlluminationLightSource>;
383
+ illuminationRefillsAndSupplies: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
384
+ instrumentEnchantments: import("./typeConfig.js").TypeConfig<InstrumentEnchantment.InstrumentEnchantment>;
385
+ jesterTricks: import("./typeConfig.js").TypeConfig<JesterTrick.JesterTrick>;
386
+ jewelry: import("./typeConfig.js").TypeConfig<Jewelry.Jewelry>;
387
+ karmaSpecialAbilities: import("./typeConfig.js").TypeConfig<KarmaSpecialAbility.KarmaSpecialAbility>;
388
+ kirchenpraegungen: import("./typeConfig.js").TypeConfig<import("./types/_Influence.js").Influence>;
389
+ krallenkettenzauber: import("./typeConfig.js").TypeConfig<Krallenkettenzauber.Krallenkettenzauber>;
390
+ languages: import("./typeConfig.js").TypeConfig<Language.Language>;
391
+ lessonsCurricula: import("./typeConfig.js").TypeConfig<Curriculum.Curriculum>;
392
+ lessonsGuidelines: import("./typeConfig.js").TypeConfig<Guideline.Guideline>;
393
+ liebesspielzeug: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
394
+ liturgicalChants: import("./typeConfig.js").TypeConfig<LiturgicalChant.LiturgicalChant>;
395
+ liturgicalStyleSpecialAbilities: import("./typeConfig.js").TypeConfig<LiturgicalStyleSpecialAbility.LiturgicalStyleSpecialAbility>;
396
+ locales: import("./typeConfig.js").TypeConfig<Locales.Locale, string>;
397
+ luxuryGoods: import("./typeConfig.js").TypeConfig<LuxuryGood.LuxuryGood>;
398
+ lycantropicGifts: import("./typeConfig.js").TypeConfig<LycantropicGift.LycantropicGift>;
399
+ magicalArtifacts: import("./typeConfig.js").TypeConfig<MagicalArtifact.MagicalArtifact>;
400
+ magicalDances: import("./typeConfig.js").TypeConfig<MagicalDance.MagicalDance>;
401
+ magicalMelodies: import("./typeConfig.js").TypeConfig<MagicalMelody.MagicalMelody>;
402
+ magicalRunes: import("./typeConfig.js").TypeConfig<MagicalRune.MagicalRune>;
403
+ magicalSigns: import("./typeConfig.js").TypeConfig<MagicalSign.MagicalSign>;
404
+ magicalSpecialAbilities: import("./typeConfig.js").TypeConfig<MagicalSpecialAbility.MagicalSpecialAbility>;
405
+ magicalTraditions: import("./typeConfig.js").TypeConfig<MagicalTradition.MagicalTradition>;
406
+ magicStyleSpecialAbilities: import("./typeConfig.js").TypeConfig<MagicStyleSpecialAbility.MagicStyleSpecialAbility>;
407
+ metaConditions: import("./typeConfig.js").TypeConfig<MetaCondition.MetaCondition>;
408
+ musicalInstruments: import("./typeConfig.js").TypeConfig<MusicalInstrument.MusicalInstrument>;
409
+ optionalRules: import("./typeConfig.js").TypeConfig<OptionalRule.OptionalRule>;
410
+ orbEnchantments: import("./typeConfig.js").TypeConfig<OrbEnchantment.OrbEnchantment>;
411
+ orienteeringAids: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
412
+ pactCategories: import("./typeConfig.js").TypeConfig<PactCategory.PactCategory>;
413
+ pactGifts: import("./typeConfig.js").TypeConfig<PactGift.PactGift>;
414
+ patronCategories: import("./typeConfig.js").TypeConfig<PatronCategory.PatronCategory>;
415
+ patrons: import("./typeConfig.js").TypeConfig<Patron.Patron>;
416
+ personalityTraits: import("./typeConfig.js").TypeConfig<PersonalityTrait.PersonalityTrait>;
417
+ poisons: import("./typeConfig.js").TypeConfig<Poison.Poison>;
418
+ professions: import("./typeConfig.js").TypeConfig<Profession.Profession>;
419
+ properties: import("./typeConfig.js").TypeConfig<Property.Property>;
420
+ protectiveWardingCircleSpecialAbilities: import("./typeConfig.js").TypeConfig<ProtectiveWardingCircleSpecialAbility.ProtectiveWardingCircleSpecialAbility>;
421
+ publications: import("./typeConfig.js").TypeConfig<Publication.Publication>;
422
+ races: import("./typeConfig.js").TypeConfig<Race.Race>;
423
+ rangedCombatTechniques: import("./typeConfig.js").TypeConfig<RangedCombatTechnique.RangedCombatTechnique>;
424
+ reaches: import("./typeConfig.js").TypeConfig<Reach.Reach>;
425
+ regions: import("./typeConfig.js").TypeConfig<Region.Region>;
426
+ ringEnchantments: import("./typeConfig.js").TypeConfig<RingEnchantment.RingEnchantment>;
427
+ rituals: import("./typeConfig.js").TypeConfig<Ritual.Ritual>;
428
+ ropesAndChains: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
429
+ scripts: import("./typeConfig.js").TypeConfig<Script.Script>;
430
+ sermons: import("./typeConfig.js").TypeConfig<Sermon.Sermon>;
431
+ services: import("./typeConfig.js").TypeConfig<Service.Service>;
432
+ sexPractices: import("./typeConfig.js").TypeConfig<SexPractice.SexPractice>;
433
+ sexSpecialAbilities: import("./typeConfig.js").TypeConfig<SexSpecialAbility.SexSpecialAbility>;
434
+ sickleRituals: import("./typeConfig.js").TypeConfig<SickleRitual.SickleRitual>;
435
+ sikaryanDrainSpecialAbilities: import("./typeConfig.js").TypeConfig<SikaryanDrainSpecialAbility.SikaryanDrainSpecialAbility>;
436
+ skillGroups: import("./typeConfig.js").TypeConfig<SkillGroup.SkillGroup>;
437
+ skillModificationLevels: import("./typeConfig.js").TypeConfig<SkillModificationLevel.SkillModificationLevel>;
438
+ skills: import("./typeConfig.js").TypeConfig<Skill.Skill>;
439
+ skillStyleSpecialAbilities: import("./typeConfig.js").TypeConfig<SkillStyleSpecialAbility.SkillStyleSpecialAbility>;
440
+ socialStatuses: import("./typeConfig.js").TypeConfig<SocialStatus.SocialStatus>;
441
+ spells: import("./typeConfig.js").TypeConfig<Spell.Spell>;
442
+ spellSwordEnchantments: import("./typeConfig.js").TypeConfig<SpellSwordEnchantment.SpellSwordEnchantment>;
443
+ staffEnchantments: import("./typeConfig.js").TypeConfig<StaffEnchantment.StaffEnchantment>;
444
+ states: import("./typeConfig.js").TypeConfig<State.State>;
445
+ stationary: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
446
+ talismans: import("./typeConfig.js").TypeConfig<Talisman.Talisman>;
447
+ targetCategories: import("./typeConfig.js").TypeConfig<TargetCategory.TargetCategory>;
448
+ thievesTools: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
449
+ toolsOfTheTrade: import("./typeConfig.js").TypeConfig<ToolOfTheTrade.ToolOfTheTrade>;
450
+ toyEnchantments: import("./typeConfig.js").TypeConfig<ToyEnchantment.ToyEnchantment>;
451
+ tradeSecrets: import("./typeConfig.js").TypeConfig<TradeSecret.TradeSecret>;
452
+ travelGearAndTools: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
453
+ trinkhornzauber: import("./typeConfig.js").TypeConfig<Trinkhornzauber.Trinkhornzauber>;
454
+ ui: import("./typeConfig.js").TypeConfig<UI.UI, string>;
455
+ vampiricGifts: import("./typeConfig.js").TypeConfig<VampiricGift.VampiricGift>;
456
+ vehicles: import("./typeConfig.js").TypeConfig<Vehicle.Vehicle>;
457
+ visions: import("./typeConfig.js").TypeConfig<Vision.Vision>;
458
+ wandEnchantments: import("./typeConfig.js").TypeConfig<WandEnchantment.WandEnchantment>;
459
+ weaponAccessories: import("./typeConfig.js").TypeConfig<import("./types/equipment/item/_Item.js").DefaultItem>;
460
+ weaponEnchantments: import("./typeConfig.js").TypeConfig<WeaponEnchantment.WeaponEnchantment>;
461
+ weapons: import("./typeConfig.js").TypeConfig<Weapon.Weapon>;
462
+ zibiljaRituals: import("./typeConfig.js").TypeConfig<ZibiljaRitual.ZibiljaRitual>;
312
463
  };
package/lib/config.js CHANGED
@@ -151,158 +151,158 @@ import * as Trinkhornzauber from "./types/traditionArtifacts/Trinkhornzauber.js"
151
151
  import * as WandEnchantment from "./types/traditionArtifacts/WandEnchantment.js";
152
152
  import * as WeaponEnchantment from "./types/traditionArtifacts/WeaponEnchantment.js";
153
153
  import * as UI from "./types/UI.js";
154
- export const typeValidatorMap = {
155
- advancedCombatSpecialAbilities: AdvancedCombatSpecialAbility.validateSchema,
156
- advancedKarmaSpecialAbilities: AdvancedKarmaSpecialAbility.validateSchema,
157
- advancedMagicalSpecialAbilities: AdvancedMagicalSpecialAbility.validateSchema,
158
- advancedSkillSpecialAbilities: AdvancedSkillSpecialAbility.validateSchema,
159
- advantages: Advantage.validateSchema,
160
- alchemicae: Alchemicum.validateSchema,
161
- ammunition: Ammunition.validateSchema,
162
- ancestorGlyphs: AncestorGlyph.validateSchema,
163
- animalCare: AnimalCare.validateSchema,
164
- animalDiseases: AnimalDisease.validateSchema,
165
- animals: Animal.validateSchema,
166
- animalShapePaths: AnimalShapePath.validateSchema,
167
- animalShapes: AnimalShape.validateSchema,
168
- animalShapeSizes: AnimalShapeSize.validateSchema,
169
- animalTypes: AnimalType.validateSchema,
170
- animistPowers: AnimistPower.validateSchema,
171
- animistPowerTribes: Tribe.validateSchema,
172
- arcaneBardTraditions: ArcaneBardTradition.validateSchema,
173
- arcaneDancerTraditions: ArcaneDancerTradition.validateSchema,
174
- arcaneOrbEnchantments: ArcaneOrbEnchantment.validateSchema,
175
- armors: Armor.validateSchema,
176
- armorTypes: ArmorType.validateSchema,
177
- aspects: Aspect.validateSchema,
178
- attireEnchantments: AttireEnchantment.validateSchema,
179
- attributes: Attribute.validateSchema,
180
- bandagesAndRemedies: BandageOrRemedy.validateSchema,
181
- blessedTraditions: BlessedTradition.validateSchema,
182
- blessings: Blessing.validateSchema,
183
- books: Book.validateSchema,
184
- bowlEnchantments: BowlEnchantment.validateSchema,
185
- brawlingSpecialAbilities: BrawlingSpecialAbility.validateSchema,
186
- brews: Brew.validateSchema,
187
- cantrips: Cantrip.validateSchema,
188
- cauldronEnchantments: CauldronEnchantment.validateSchema,
189
- ceremonialItems: CeremonialItem.validateSchema,
190
- ceremonialItemSpecialAbilities: CeremonialItemSpecialAbility.validateSchema,
191
- ceremonies: Ceremony.validateSchema,
192
- chronicleEnchantments: ChronicleEnchantment.validateSchema,
193
- closeCombatTechniques: CloseCombatTechnique.validateSchema,
194
- clothes: Clothes.validateSchema,
195
- combatSpecialAbilities: CombatSpecialAbility.validateSchema,
196
- combatStyleSpecialAbilities: CombatStyleSpecialAbility.validateSchema,
197
- commandSpecialAbilities: CommandSpecialAbility.validateSchema,
198
- conditions: Condition.validateSchema,
199
- containers: Container.validateSchema,
200
- continents: Continent.validateSchema,
201
- coreRules: CoreRule.validateSchema,
202
- cultures: Culture.validateSchema,
203
- curses: Curse.validateSchema,
204
- daggerRituals: DaggerRitual.validateSchema,
205
- derivedCharacteristics: DerivedCharacteristic.validateSchema,
206
- disadvantages: Disadvantage.validateSchema,
207
- diseases: Disease.validateSchema,
208
- dominationRituals: DominationRitual.validateSchema,
209
- elements: Element.validateSchema,
210
- elixirs: Elixir.validateSchema,
211
- elvenMagicalSongs: ElvenMagicalSong.validateSchema,
212
- equipmentOfBlessedOnes: EquipmentOfBlessedOnes.validateSchema,
213
- equipmentPackages: EquipmentPackage.validateSchema,
214
- experienceLevels: ExperienceLevel.validateSchema,
215
- eyeColors: EyeColor.validateSchema,
216
- familiarSpecialAbilities: FamiliarSpecialAbility.validateSchema,
217
- familiarsTricks: FamiliarsTrick.validateSchema,
218
- fatePointSexSpecialAbilities: FatePointSexSpecialAbility.validateSchema,
219
- fatePointSpecialAbilities: FatePointSpecialAbility.validateSchema,
220
- focusRules: FocusRule.validateSchema,
221
- focusRuleSubjects: Subject.validateSchema,
222
- foolsHatEnchantments: FoolsHatEnchantment.validateSchema,
223
- gemsAndPreciousStones: GemOrPreciousStone.validateSchema,
224
- generalSpecialAbilities: GeneralSpecialAbility.validateSchema,
225
- geodeRituals: GeodeRitual.validateSchema,
226
- hairColors: HairColor.validateSchema,
227
- illuminationLightSources: IlluminationLightSource.validateSchema,
228
- illuminationRefillsAndSupplies: IlluminationRefillsOrSupplies.validateSchema,
229
- instrumentEnchantments: InstrumentEnchantment.validateSchema,
230
- jesterTricks: JesterTrick.validateSchema,
231
- jewelry: Jewelry.validateSchema,
232
- karmaSpecialAbilities: KarmaSpecialAbility.validateSchema,
233
- kirchenpraegungen: Kirchenpraegung.validateSchema,
234
- krallenkettenzauber: Krallenkettenzauber.validateSchema,
235
- languages: Language.validateSchema,
236
- lessonsCurricula: Curriculum.validateSchema,
237
- lessonsGuidelines: Guideline.validateSchema,
238
- liebesspielzeug: Liebesspielzeug.validateSchema,
239
- liturgicalChants: LiturgicalChant.validateSchema,
240
- liturgicalStyleSpecialAbilities: LiturgicalStyleSpecialAbility.validateSchema,
241
- locales: Locales.validateSchema,
242
- luxuryGoods: LuxuryGood.validateSchema,
243
- lycantropicGifts: LycantropicGift.validateSchema,
244
- magicalArtifacts: MagicalArtifact.validateSchema,
245
- magicalDances: MagicalDance.validateSchema,
246
- magicalMelodies: MagicalMelody.validateSchema,
247
- magicalRunes: MagicalRune.validateSchema,
248
- magicalSigns: MagicalSign.validateSchema,
249
- magicalSpecialAbilities: MagicalSpecialAbility.validateSchema,
250
- magicalTraditions: MagicalTradition.validateSchema,
251
- magicStyleSpecialAbilities: MagicStyleSpecialAbility.validateSchema,
252
- metaConditions: MetaCondition.validateSchema,
253
- musicalInstruments: MusicalInstrument.validateSchema,
254
- optionalRules: OptionalRule.validateSchema,
255
- orbEnchantments: OrbEnchantment.validateSchema,
256
- orienteeringAids: OrienteeringAid.validateSchema,
257
- pactCategories: PactCategory.validateSchema,
258
- pactGifts: PactGift.validateSchema,
259
- patronCategories: PatronCategory.validateSchema,
260
- patrons: Patron.validateSchema,
261
- personalityTraits: PersonalityTrait.validateSchema,
262
- poisons: Poison.validateSchema,
263
- professions: Profession.validateSchema,
264
- properties: Property.validateSchema,
265
- protectiveWardingCircleSpecialAbilities: ProtectiveWardingCircleSpecialAbility.validateSchema,
266
- publications: Publication.validateSchema,
267
- races: Race.validateSchema,
268
- rangedCombatTechniques: RangedCombatTechnique.validateSchema,
269
- reaches: Reach.validateSchema,
270
- regions: Region.validateSchema,
271
- ringEnchantments: RingEnchantment.validateSchema,
272
- rituals: Ritual.validateSchema,
273
- ropesAndChains: RopeOrChain.validateSchema,
274
- scripts: Script.validateSchema,
275
- sermons: Sermon.validateSchema,
276
- services: Service.validateSchema,
277
- sexPractices: SexPractice.validateSchema,
278
- sexSpecialAbilities: SexSpecialAbility.validateSchema,
279
- sickleRituals: SickleRitual.validateSchema,
280
- sikaryanDrainSpecialAbilities: SikaryanDrainSpecialAbility.validateSchema,
281
- skillGroups: SkillGroup.validateSchema,
282
- skillModificationLevels: SkillModificationLevel.validateSchema,
283
- skills: Skill.validateSchema,
284
- skillStyleSpecialAbilities: SkillStyleSpecialAbility.validateSchema,
285
- socialStatuses: SocialStatus.validateSchema,
286
- spells: Spell.validateSchema,
287
- spellSwordEnchantments: SpellSwordEnchantment.validateSchema,
288
- staffEnchantments: StaffEnchantment.validateSchema,
289
- states: State.validateSchema,
290
- stationary: Stationary.validateSchema,
291
- talismans: Talisman.validateSchema,
292
- targetCategories: TargetCategory.validateSchema,
293
- thievesTools: ThievesTool.validateSchema,
294
- toolsOfTheTrade: ToolOfTheTrade.validateSchema,
295
- toyEnchantments: ToyEnchantment.validateSchema,
296
- tradeSecrets: TradeSecret.validateSchema,
297
- travelGearAndTools: TravelGearOrTool.validateSchema,
298
- trinkhornzauber: Trinkhornzauber.validateSchema,
299
- ui: UI.validateSchema,
300
- vampiricGifts: VampiricGift.validateSchema,
301
- vehicles: Vehicle.validateSchema,
302
- visions: Vision.validateSchema,
303
- wandEnchantments: WandEnchantment.validateSchema,
304
- weaponAccessories: WeaponAccessory.validateSchema,
305
- weaponEnchantments: WeaponEnchantment.validateSchema,
306
- weapons: Weapon.validateSchema,
307
- zibiljaRituals: ZibiljaRitual.validateSchema,
154
+ export const configMap = {
155
+ advancedCombatSpecialAbilities: AdvancedCombatSpecialAbility.config,
156
+ advancedKarmaSpecialAbilities: AdvancedKarmaSpecialAbility.config,
157
+ advancedMagicalSpecialAbilities: AdvancedMagicalSpecialAbility.config,
158
+ advancedSkillSpecialAbilities: AdvancedSkillSpecialAbility.config,
159
+ advantages: Advantage.config,
160
+ alchemicae: Alchemicum.config,
161
+ ammunition: Ammunition.config,
162
+ ancestorGlyphs: AncestorGlyph.config,
163
+ animalCare: AnimalCare.config,
164
+ animalDiseases: AnimalDisease.config,
165
+ animals: Animal.config,
166
+ animalShapePaths: AnimalShapePath.config,
167
+ animalShapes: AnimalShape.config,
168
+ animalShapeSizes: AnimalShapeSize.config,
169
+ animalTypes: AnimalType.config,
170
+ animistPowers: AnimistPower.config,
171
+ animistPowerTribes: Tribe.config,
172
+ arcaneBardTraditions: ArcaneBardTradition.config,
173
+ arcaneDancerTraditions: ArcaneDancerTradition.config,
174
+ arcaneOrbEnchantments: ArcaneOrbEnchantment.config,
175
+ armors: Armor.config,
176
+ armorTypes: ArmorType.config,
177
+ aspects: Aspect.config,
178
+ attireEnchantments: AttireEnchantment.config,
179
+ attributes: Attribute.config,
180
+ bandagesAndRemedies: BandageOrRemedy.config,
181
+ blessedTraditions: BlessedTradition.config,
182
+ blessings: Blessing.config,
183
+ books: Book.config,
184
+ bowlEnchantments: BowlEnchantment.config,
185
+ brawlingSpecialAbilities: BrawlingSpecialAbility.config,
186
+ brews: Brew.config,
187
+ cantrips: Cantrip.config,
188
+ cauldronEnchantments: CauldronEnchantment.config,
189
+ ceremonialItems: CeremonialItem.config,
190
+ ceremonialItemSpecialAbilities: CeremonialItemSpecialAbility.config,
191
+ ceremonies: Ceremony.config,
192
+ chronicleEnchantments: ChronicleEnchantment.config,
193
+ closeCombatTechniques: CloseCombatTechnique.config,
194
+ clothes: Clothes.config,
195
+ combatSpecialAbilities: CombatSpecialAbility.config,
196
+ combatStyleSpecialAbilities: CombatStyleSpecialAbility.config,
197
+ commandSpecialAbilities: CommandSpecialAbility.config,
198
+ conditions: Condition.config,
199
+ containers: Container.config,
200
+ continents: Continent.config,
201
+ coreRules: CoreRule.config,
202
+ cultures: Culture.config,
203
+ curses: Curse.config,
204
+ daggerRituals: DaggerRitual.config,
205
+ derivedCharacteristics: DerivedCharacteristic.config,
206
+ disadvantages: Disadvantage.config,
207
+ diseases: Disease.config,
208
+ dominationRituals: DominationRitual.config,
209
+ elements: Element.config,
210
+ elixirs: Elixir.config,
211
+ elvenMagicalSongs: ElvenMagicalSong.config,
212
+ equipmentOfBlessedOnes: EquipmentOfBlessedOnes.config,
213
+ equipmentPackages: EquipmentPackage.config,
214
+ experienceLevels: ExperienceLevel.config,
215
+ eyeColors: EyeColor.config,
216
+ familiarSpecialAbilities: FamiliarSpecialAbility.config,
217
+ familiarsTricks: FamiliarsTrick.config,
218
+ fatePointSexSpecialAbilities: FatePointSexSpecialAbility.config,
219
+ fatePointSpecialAbilities: FatePointSpecialAbility.config,
220
+ focusRules: FocusRule.config,
221
+ focusRuleSubjects: Subject.config,
222
+ foolsHatEnchantments: FoolsHatEnchantment.config,
223
+ gemsAndPreciousStones: GemOrPreciousStone.config,
224
+ generalSpecialAbilities: GeneralSpecialAbility.config,
225
+ geodeRituals: GeodeRitual.config,
226
+ hairColors: HairColor.config,
227
+ illuminationLightSources: IlluminationLightSource.config,
228
+ illuminationRefillsAndSupplies: IlluminationRefillsOrSupplies.config,
229
+ instrumentEnchantments: InstrumentEnchantment.config,
230
+ jesterTricks: JesterTrick.config,
231
+ jewelry: Jewelry.config,
232
+ karmaSpecialAbilities: KarmaSpecialAbility.config,
233
+ kirchenpraegungen: Kirchenpraegung.config,
234
+ krallenkettenzauber: Krallenkettenzauber.config,
235
+ languages: Language.config,
236
+ lessonsCurricula: Curriculum.config,
237
+ lessonsGuidelines: Guideline.config,
238
+ liebesspielzeug: Liebesspielzeug.config,
239
+ liturgicalChants: LiturgicalChant.config,
240
+ liturgicalStyleSpecialAbilities: LiturgicalStyleSpecialAbility.config,
241
+ locales: Locales.config,
242
+ luxuryGoods: LuxuryGood.config,
243
+ lycantropicGifts: LycantropicGift.config,
244
+ magicalArtifacts: MagicalArtifact.config,
245
+ magicalDances: MagicalDance.config,
246
+ magicalMelodies: MagicalMelody.config,
247
+ magicalRunes: MagicalRune.config,
248
+ magicalSigns: MagicalSign.config,
249
+ magicalSpecialAbilities: MagicalSpecialAbility.config,
250
+ magicalTraditions: MagicalTradition.config,
251
+ magicStyleSpecialAbilities: MagicStyleSpecialAbility.config,
252
+ metaConditions: MetaCondition.config,
253
+ musicalInstruments: MusicalInstrument.config,
254
+ optionalRules: OptionalRule.config,
255
+ orbEnchantments: OrbEnchantment.config,
256
+ orienteeringAids: OrienteeringAid.config,
257
+ pactCategories: PactCategory.config,
258
+ pactGifts: PactGift.config,
259
+ patronCategories: PatronCategory.config,
260
+ patrons: Patron.config,
261
+ personalityTraits: PersonalityTrait.config,
262
+ poisons: Poison.config,
263
+ professions: Profession.config,
264
+ properties: Property.config,
265
+ protectiveWardingCircleSpecialAbilities: ProtectiveWardingCircleSpecialAbility.config,
266
+ publications: Publication.config,
267
+ races: Race.config,
268
+ rangedCombatTechniques: RangedCombatTechnique.config,
269
+ reaches: Reach.config,
270
+ regions: Region.config,
271
+ ringEnchantments: RingEnchantment.config,
272
+ rituals: Ritual.config,
273
+ ropesAndChains: RopeOrChain.config,
274
+ scripts: Script.config,
275
+ sermons: Sermon.config,
276
+ services: Service.config,
277
+ sexPractices: SexPractice.config,
278
+ sexSpecialAbilities: SexSpecialAbility.config,
279
+ sickleRituals: SickleRitual.config,
280
+ sikaryanDrainSpecialAbilities: SikaryanDrainSpecialAbility.config,
281
+ skillGroups: SkillGroup.config,
282
+ skillModificationLevels: SkillModificationLevel.config,
283
+ skills: Skill.config,
284
+ skillStyleSpecialAbilities: SkillStyleSpecialAbility.config,
285
+ socialStatuses: SocialStatus.config,
286
+ spells: Spell.config,
287
+ spellSwordEnchantments: SpellSwordEnchantment.config,
288
+ staffEnchantments: StaffEnchantment.config,
289
+ states: State.config,
290
+ stationary: Stationary.config,
291
+ talismans: Talisman.config,
292
+ targetCategories: TargetCategory.config,
293
+ thievesTools: ThievesTool.config,
294
+ toolsOfTheTrade: ToolOfTheTrade.config,
295
+ toyEnchantments: ToyEnchantment.config,
296
+ tradeSecrets: TradeSecret.config,
297
+ travelGearAndTools: TravelGearOrTool.config,
298
+ trinkhornzauber: Trinkhornzauber.config,
299
+ ui: UI.config,
300
+ vampiricGifts: VampiricGift.config,
301
+ vehicles: Vehicle.config,
302
+ visions: Vision.config,
303
+ wandEnchantments: WandEnchantment.config,
304
+ weaponAccessories: WeaponAccessory.config,
305
+ weaponEnchantments: WeaponEnchantment.config,
306
+ weapons: Weapon.config,
307
+ zibiljaRituals: ZibiljaRitual.config,
308
308
  };
@@ -0,0 +1,20 @@
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 ADDED
@@ -0,0 +1,33 @@
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");
@@ -0,0 +1,14 @@
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>[];
@@ -0,0 +1,15 @@
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);
@@ -0,0 +1 @@
1
+ export declare const collator: Intl.Collator;
@@ -0,0 +1 @@
1
+ export const collator = Intl.Collator(undefined, { numeric: true });