optolith-database-schema 0.17.2 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -1
- package/lib/main.d.ts +2 -101
- package/lib/main.js +361 -106
- package/lib/test.d.ts +1 -0
- package/lib/test.js +2 -0
- package/lib/types/Advantage.d.ts +921 -63
- package/lib/types/Advantage.js +42 -13
- package/lib/types/AnimalDisease.d.ts +90 -59
- package/lib/types/AnimalDisease.js +28 -13
- package/lib/types/AnimalType.d.ts +6 -28
- package/lib/types/AnimalType.js +14 -13
- package/lib/types/ArcaneBardTradition.d.ts +30 -10
- package/lib/types/ArcaneBardTradition.js +7 -13
- package/lib/types/ArcaneDancerTradition.d.ts +30 -10
- package/lib/types/ArcaneDancerTradition.js +7 -13
- package/lib/types/Aspect.d.ts +7 -33
- package/lib/types/Aspect.js +20 -13
- package/lib/types/Attribute.d.ts +8 -36
- package/lib/types/Attribute.js +23 -13
- package/lib/types/Blessing.d.ts +96 -113
- package/lib/types/Blessing.js +94 -13
- package/lib/types/Cantrip.d.ts +132 -183
- package/lib/types/Cantrip.js +159 -13
- package/lib/types/Ceremony.d.ts +630 -113
- package/lib/types/Ceremony.js +87 -13
- package/lib/types/CombatTechnique.d.ts +127 -0
- package/lib/types/CombatTechnique.js +101 -0
- package/lib/types/Condition.d.ts +52 -40
- package/lib/types/Condition.js +31 -13
- package/lib/types/Continent.d.ts +6 -30
- package/lib/types/Continent.js +15 -13
- package/lib/types/Culture.d.ts +142 -369
- package/lib/types/Culture.js +355 -13
- package/lib/types/DerivedCharacteristic.d.ts +76 -61
- package/lib/types/DerivedCharacteristic.js +45 -13
- package/lib/types/Disadvantage.d.ts +921 -58
- package/lib/types/Disadvantage.js +45 -13
- package/lib/types/Disease.d.ts +81 -43
- package/lib/types/Disease.js +15 -13
- package/lib/types/Element.d.ts +6 -28
- package/lib/types/Element.js +14 -13
- package/lib/types/ExperienceLevel.d.ts +13 -64
- package/lib/types/ExperienceLevel.js +43 -13
- package/lib/types/EyeColor.d.ts +6 -28
- package/lib/types/EyeColor.js +14 -13
- package/lib/types/FamiliarsTrick.d.ts +189 -266
- package/lib/types/FamiliarsTrick.js +193 -13
- package/lib/types/HairColor.d.ts +6 -28
- package/lib/types/HairColor.js +14 -13
- package/lib/types/Lessons.d.ts +180 -0
- package/lib/types/Lessons.js +212 -0
- package/lib/types/LiturgicalChant.d.ts +630 -113
- package/lib/types/LiturgicalChant.js +87 -13
- package/lib/types/Locale.d.ts +11 -36
- package/lib/types/Locale.js +1316 -13
- package/lib/types/MetaCondition.d.ts +52 -43
- package/lib/types/MetaCondition.js +32 -13
- package/lib/types/PactCategory.d.ts +74 -78
- package/lib/types/PactCategory.js +65 -13
- package/lib/types/Patron.d.ts +100 -197
- package/lib/types/Patron.js +195 -13
- package/lib/types/PatronCategory.d.ts +7 -36
- package/lib/types/PatronCategory.js +19 -13
- package/lib/types/PersonalityTrait.d.ts +80 -67
- package/lib/types/PersonalityTrait.js +51 -13
- package/lib/types/Profession.d.ts +1911 -665
- package/lib/types/Profession.js +593 -13
- package/lib/types/Property.d.ts +7 -34
- package/lib/types/Property.js +19 -13
- package/lib/types/Race.d.ts +163 -349
- package/lib/types/Race.js +287 -13
- package/lib/types/Region.d.ts +6 -28
- package/lib/types/Region.js +14 -13
- package/lib/types/Ritual.d.ts +627 -111
- package/lib/types/Ritual.js +88 -13
- package/lib/types/Service.d.ts +55 -43
- package/lib/types/Service.js +38 -13
- package/lib/types/SexPractice.d.ts +50 -47
- package/lib/types/SexPractice.js +32 -13
- package/lib/types/Skill.d.ts +112 -131
- package/lib/types/Skill.js +120 -10
- package/lib/types/SkillGroup.d.ts +8 -37
- package/lib/types/SkillGroup.js +23 -13
- package/lib/types/SkillModificationLevel.d.ts +31 -101
- package/lib/types/SkillModificationLevel.js +95 -10
- package/lib/types/SocialStatus.d.ts +7 -28
- package/lib/types/SocialStatus.js +18 -13
- package/lib/types/Spell.d.ts +627 -111
- package/lib/types/Spell.js +88 -13
- package/lib/types/State.d.ts +51 -36
- package/lib/types/State.js +24 -13
- package/lib/types/Talisman.d.ts +64 -70
- package/lib/types/Talisman.js +64 -13
- package/lib/types/TargetCategory.d.ts +7 -42
- package/lib/types/TargetCategory.js +19 -13
- package/lib/types/_Activatable.d.ts +1587 -1366
- package/lib/types/_Activatable.js +1392 -2
- package/lib/types/_ActivatableSelectOptionCategory.d.ts +657 -386
- package/lib/types/_ActivatableSelectOptionCategory.js +381 -1
- package/lib/types/_ActivatableSkill.d.ts +1105 -34
- package/lib/types/_ActivatableSkill.js +82 -1
- package/lib/types/_ActivatableSkillCastingTime.d.ts +66 -74
- package/lib/types/_ActivatableSkillCastingTime.js +92 -1
- package/lib/types/_ActivatableSkillCheckResultBased.d.ts +25 -33
- package/lib/types/_ActivatableSkillCheckResultBased.js +44 -1
- package/lib/types/_ActivatableSkillCost.d.ts +209 -255
- package/lib/types/_ActivatableSkillCost.js +224 -1
- package/lib/types/_ActivatableSkillDuration.d.ts +202 -135
- package/lib/types/_ActivatableSkillDuration.js +138 -1
- package/lib/types/_ActivatableSkillEffect.d.ts +16 -68
- package/lib/types/_ActivatableSkillEffect.js +65 -1
- package/lib/types/_ActivatableSkillRange.d.ts +61 -115
- package/lib/types/_ActivatableSkillRange.js +106 -1
- package/lib/types/_ActivatableSkillTargetCategory.d.ts +13 -39
- package/lib/types/_ActivatableSkillTargetCategory.js +29 -1
- package/lib/types/_AlternativeNames.d.ts +5 -11
- package/lib/types/_AlternativeNames.js +14 -1
- package/lib/types/_ArcaneTradition.d.ts +30 -28
- package/lib/types/_ArcaneTradition.js +14 -4
- package/lib/types/_Blessed.d.ts +8 -22
- package/lib/types/_Blessed.js +22 -1
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +4 -10
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +12 -1
- package/lib/types/_Dice.d.ts +6 -19
- package/lib/types/_Dice.js +23 -1
- package/lib/types/_DiseasePoison.d.ts +56 -107
- package/lib/types/_DiseasePoison.js +107 -2
- package/lib/types/_Enhancements.d.ts +165 -59
- package/lib/types/_Enhancements.js +66 -1
- package/lib/types/_I18n.d.ts +14 -42
- package/lib/types/_I18n.js +55 -1
- package/lib/types/_Identifier.d.ts +158 -1274
- package/lib/types/_Identifier.js +300 -1
- package/lib/types/_IdentifierGroup.d.ts +278 -29
- package/lib/types/_IdentifierGroup.js +340 -1
- package/lib/types/_ImprovementCost.d.ts +7 -4
- package/lib/types/_ImprovementCost.js +10 -1
- package/lib/types/_Influence.d.ts +78 -49
- package/lib/types/_Influence.js +42 -4
- package/lib/types/_Prerequisite.d.ts +370 -106
- package/lib/types/_Prerequisite.js +136 -1
- package/lib/types/_ResponsiveText.d.ts +13 -54
- package/lib/types/_ResponsiveText.js +37 -1
- package/lib/types/_Sex.d.ts +5 -7
- package/lib/types/_Sex.js +8 -4
- package/lib/types/_SkillCheck.d.ts +10 -15
- package/lib/types/_SkillCheck.js +34 -1
- package/lib/types/_Spellwork.d.ts +5 -18
- package/lib/types/_Spellwork.js +13 -1
- package/lib/types/equipment/EquipmentPackage.d.ts +80 -51
- package/lib/types/equipment/EquipmentPackage.js +34 -13
- package/lib/types/equipment/item/Ammunition.d.ts +69 -32
- package/lib/types/equipment/item/Ammunition.js +29 -13
- package/lib/types/equipment/item/Animal.d.ts +71 -19
- package/lib/types/equipment/item/Animal.js +15 -13
- package/lib/types/equipment/item/AnimalCare.d.ts +86 -49
- package/lib/types/equipment/item/AnimalCare.js +51 -13
- package/lib/types/equipment/item/Armor.d.ts +120 -186
- package/lib/types/equipment/item/Armor.js +156 -13
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +176 -37
- package/lib/types/equipment/item/BandageOrRemedy.js +2 -14
- package/lib/types/equipment/item/Book.d.ts +84 -61
- package/lib/types/equipment/item/Book.js +57 -13
- package/lib/types/equipment/item/CeremonialItem.d.ts +178 -42
- package/lib/types/equipment/item/CeremonialItem.js +36 -13
- package/lib/types/equipment/item/Clothes.d.ts +176 -7
- package/lib/types/equipment/item/Clothes.js +2 -14
- package/lib/types/equipment/item/Container.d.ts +176 -7
- package/lib/types/equipment/item/Container.js +2 -14
- package/lib/types/equipment/item/Elixir.d.ts +91 -76
- package/lib/types/equipment/item/Elixir.js +54 -13
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +170 -29
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +28 -13
- package/lib/types/equipment/item/GemOrPreciousStone.d.ts +72 -44
- package/lib/types/equipment/item/GemOrPreciousStone.js +41 -13
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +186 -61
- package/lib/types/equipment/item/IlluminationLightSource.js +61 -13
- package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +176 -0
- package/lib/types/equipment/item/IlluminationRefillOrSupply.js +2 -0
- package/lib/types/equipment/item/Jewelry.d.ts +73 -61
- package/lib/types/equipment/item/Jewelry.js +37 -13
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +176 -7
- package/lib/types/equipment/item/Liebesspielzeug.js +2 -14
- package/lib/types/equipment/item/LuxuryGood.d.ts +176 -37
- package/lib/types/equipment/item/LuxuryGood.js +2 -14
- package/lib/types/equipment/item/MagicalArtifact.d.ts +71 -40
- package/lib/types/equipment/item/MagicalArtifact.js +15 -13
- package/lib/types/equipment/item/MusicalInstrument.d.ts +174 -32
- package/lib/types/equipment/item/MusicalInstrument.js +27 -13
- package/lib/types/equipment/item/OrienteeringAid.d.ts +176 -7
- package/lib/types/equipment/item/OrienteeringAid.js +2 -14
- package/lib/types/equipment/item/Poison.d.ts +483 -354
- package/lib/types/equipment/item/Poison.js +386 -13
- package/lib/types/equipment/item/RopeOrChain.d.ts +176 -7
- package/lib/types/equipment/item/RopeOrChain.js +2 -14
- package/lib/types/equipment/item/Stationery.d.ts +176 -0
- package/lib/types/equipment/item/Stationery.js +2 -0
- package/lib/types/equipment/item/ThievesTool.d.ts +176 -7
- package/lib/types/equipment/item/ThievesTool.js +2 -14
- package/lib/types/equipment/item/ToolOfTheTrade.d.ts +89 -61
- package/lib/types/equipment/item/ToolOfTheTrade.js +40 -13
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +176 -7
- package/lib/types/equipment/item/TravelGearOrTool.js +2 -14
- package/lib/types/equipment/item/Vehicle.d.ts +71 -19
- package/lib/types/equipment/item/Vehicle.js +15 -13
- package/lib/types/equipment/item/Weapon.d.ts +223 -166
- package/lib/types/equipment/item/Weapon.js +153 -13
- package/lib/types/equipment/item/WeaponAccessory.d.ts +176 -7
- package/lib/types/equipment/item/WeaponAccessory.js +2 -14
- package/lib/types/equipment/item/_Herbary.d.ts +42 -16
- package/lib/types/equipment/item/_Herbary.js +36 -1
- package/lib/types/equipment/item/_Item.d.ts +317 -160
- package/lib/types/equipment/item/_Item.js +144 -1
- package/lib/types/equipment/item/_MeleeWeapon.d.ts +37 -105
- package/lib/types/equipment/item/_MeleeWeapon.js +92 -1
- package/lib/types/equipment/item/_RangedWeapon.d.ts +25 -106
- package/lib/types/equipment/item/_RangedWeapon.js +85 -1
- package/lib/types/equipment/item/_Weapon.d.ts +13 -57
- package/lib/types/equipment/item/_Weapon.js +49 -1
- package/lib/types/equipment/item/sub/ArmorType.d.ts +7 -37
- package/lib/types/equipment/item/sub/ArmorType.js +18 -13
- package/lib/types/equipment/item/sub/Reach.d.ts +6 -28
- package/lib/types/equipment/item/sub/Reach.js +14 -13
- package/lib/types/index.d.ts +148 -0
- package/lib/types/index.js +148 -0
- package/lib/types/magicalActions/AnimistPower.d.ts +299 -238
- package/lib/types/magicalActions/AnimistPower.js +182 -13
- package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +6 -28
- package/lib/types/magicalActions/AnimistPower_Tribe.js +14 -13
- package/lib/types/magicalActions/Curse.d.ts +215 -162
- package/lib/types/magicalActions/Curse.js +126 -13
- package/lib/types/magicalActions/DominationRitual.d.ts +200 -145
- package/lib/types/magicalActions/DominationRitual.js +126 -13
- package/lib/types/magicalActions/ElvenMagicalSong.d.ts +121 -135
- package/lib/types/magicalActions/ElvenMagicalSong.js +111 -13
- package/lib/types/magicalActions/GeodeRitual.d.ts +205 -180
- package/lib/types/magicalActions/GeodeRitual.js +135 -13
- package/lib/types/magicalActions/JesterTrick.d.ts +299 -177
- package/lib/types/magicalActions/JesterTrick.js +153 -13
- package/lib/types/magicalActions/MagicalDance.d.ts +125 -119
- package/lib/types/magicalActions/MagicalDance.js +113 -13
- package/lib/types/magicalActions/MagicalMelody.d.ts +116 -124
- package/lib/types/magicalActions/MagicalMelody.js +111 -13
- package/lib/types/magicalActions/MagicalRune.d.ts +300 -294
- package/lib/types/magicalActions/MagicalRune.js +278 -13
- package/lib/types/magicalActions/ZibiljaRitual.d.ts +396 -102
- package/lib/types/magicalActions/ZibiljaRitual.js +81 -13
- package/lib/types/magicalActions/_MusicTradition.d.ts +17 -30
- package/lib/types/magicalActions/_MusicTradition.js +43 -1
- package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +24 -10
- package/lib/types/prerequisites/ConditionalPrerequisites.js +9 -1
- package/lib/types/prerequisites/DisplayOption.d.ts +13 -32
- package/lib/types/prerequisites/DisplayOption.js +27 -1
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +1338 -215
- package/lib/types/prerequisites/PrerequisiteGroups.js +160 -1
- package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +107 -31
- package/lib/types/prerequisites/single/ActivatablePrerequisite.js +32 -1
- package/lib/types/prerequisites/single/AncestorBloodPrerequisite.d.ts +1 -2
- package/lib/types/prerequisites/single/AncestorBloodPrerequisite.js +4 -1
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +18 -26
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +24 -1
- package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +16 -13
- package/lib/types/prerequisites/single/CulturePrerequisite.js +16 -1
- package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +4 -39
- package/lib/types/prerequisites/single/EnhancementPrerequisite.js +12 -1
- package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +17 -16
- package/lib/types/prerequisites/single/InfluencePrerequisite.js +19 -1
- package/lib/types/prerequisites/single/PactPrerequisite.d.ts +18 -23
- package/lib/types/prerequisites/single/PactPrerequisite.js +24 -1
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +20 -18
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +25 -1
- package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +16 -12
- package/lib/types/prerequisites/single/PublicationPrerequisite.js +15 -1
- package/lib/types/prerequisites/single/RacePrerequisite.d.ts +17 -16
- package/lib/types/prerequisites/single/RacePrerequisite.js +19 -1
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +51 -63
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +80 -1
- package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +26 -18
- package/lib/types/prerequisites/single/RatedPrerequisite.js +19 -1
- package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +17 -19
- package/lib/types/prerequisites/single/RatedSumPrerequisite.js +19 -1
- package/lib/types/prerequisites/single/RulePrerequisite.d.ts +19 -9
- package/lib/types/prerequisites/single/RulePrerequisite.js +15 -1
- package/lib/types/prerequisites/single/SexPrerequisite.d.ts +19 -10
- package/lib/types/prerequisites/single/SexPrerequisite.js +15 -1
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +7 -8
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +17 -1
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +16 -13
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +16 -1
- package/lib/types/prerequisites/single/StatePrerequisite.d.ts +16 -10
- package/lib/types/prerequisites/single/StatePrerequisite.js +15 -1
- package/lib/types/prerequisites/single/TextPrerequisite.d.ts +19 -49
- package/lib/types/prerequisites/single/TextPrerequisite.js +53 -1
- package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +37 -33
- package/lib/types/prerequisites/single/TraditionPrerequisite.js +42 -1
- package/lib/types/rule/CoreRule.d.ts +142 -310
- package/lib/types/rule/CoreRule.js +172 -13
- package/lib/types/rule/FocusRule.d.ts +54 -53
- package/lib/types/rule/FocusRule.js +37 -13
- package/lib/types/rule/FocusRule_Subject.d.ts +6 -29
- package/lib/types/rule/FocusRule_Subject.js +15 -13
- package/lib/types/rule/OptionalRule.d.ts +52 -41
- package/lib/types/rule/OptionalRule.js +28 -13
- package/lib/types/source/Publication.d.ts +50 -70
- package/lib/types/source/Publication.js +57 -13
- package/lib/types/source/_Erratum.d.ts +9 -23
- package/lib/types/source/_Erratum.js +19 -1
- package/lib/types/source/_PublicationRef.d.ts +161 -148
- package/lib/types/source/_PublicationRef.js +98 -1
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +1034 -52
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +36 -13
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +917 -34
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +33 -13
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +917 -34
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +33 -13
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +917 -34
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +33 -13
- package/lib/types/specialAbility/AncestorGlyph.d.ts +916 -38
- package/lib/types/specialAbility/AncestorGlyph.js +35 -13
- package/lib/types/specialAbility/BlessedTradition.d.ts +948 -147
- package/lib/types/specialAbility/BlessedTradition.js +131 -13
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +980 -34
- package/lib/types/specialAbility/BrawlingSpecialAbility.js +32 -13
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +918 -40
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +33 -13
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +1036 -45
- package/lib/types/specialAbility/CombatSpecialAbility.js +37 -13
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +1035 -42
- package/lib/types/specialAbility/CombatStyleSpecialAbility.js +37 -13
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +980 -38
- package/lib/types/specialAbility/CommandSpecialAbility.js +32 -13
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +915 -32
- package/lib/types/specialAbility/FamiliarSpecialAbility.js +30 -13
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +915 -32
- package/lib/types/specialAbility/FatePointSexSpecialAbility.js +30 -13
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +917 -39
- package/lib/types/specialAbility/FatePointSpecialAbility.js +32 -13
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +918 -44
- package/lib/types/specialAbility/GeneralSpecialAbility.js +33 -13
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +915 -37
- package/lib/types/specialAbility/KarmaSpecialAbility.js +30 -13
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +966 -36
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +34 -13
- package/lib/types/specialAbility/LycantropicGift.d.ts +915 -32
- package/lib/types/specialAbility/LycantropicGift.js +30 -13
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +966 -36
- package/lib/types/specialAbility/MagicStyleSpecialAbility.js +34 -13
- package/lib/types/specialAbility/MagicalSign.d.ts +86 -39
- package/lib/types/specialAbility/MagicalSign.js +31 -13
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +918 -43
- package/lib/types/specialAbility/MagicalSpecialAbility.js +33 -13
- package/lib/types/specialAbility/MagicalTradition.d.ts +938 -114
- package/lib/types/specialAbility/MagicalTradition.js +97 -13
- package/lib/types/specialAbility/PactGift.d.ts +992 -97
- package/lib/types/specialAbility/PactGift.js +118 -13
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +917 -46
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +41 -13
- package/lib/types/specialAbility/Sermon.d.ts +915 -32
- package/lib/types/specialAbility/Sermon.js +30 -13
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +917 -34
- package/lib/types/specialAbility/SexSpecialAbility.js +32 -13
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +915 -37
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +30 -13
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +964 -34
- package/lib/types/specialAbility/SkillStyleSpecialAbility.js +32 -13
- package/lib/types/specialAbility/VampiricGift.d.ts +915 -37
- package/lib/types/specialAbility/VampiricGift.js +30 -13
- package/lib/types/specialAbility/Vision.d.ts +915 -32
- package/lib/types/specialAbility/Vision.js +30 -13
- package/lib/types/specialAbility/_Tradition.d.ts +5 -12
- package/lib/types/specialAbility/_Tradition.js +14 -1
- package/lib/types/specialAbility/sub/Language.d.ts +107 -117
- package/lib/types/specialAbility/sub/Language.js +87 -13
- package/lib/types/specialAbility/sub/Script.d.ts +61 -60
- package/lib/types/specialAbility/sub/Script.js +43 -13
- package/lib/types/specialAbility/sub/TradeSecret.d.ts +77 -48
- package/lib/types/specialAbility/sub/TradeSecret.js +36 -13
- package/lib/types/specialAbility/sub/_LanguageScript.d.ts +5 -11
- package/lib/types/specialAbility/sub/_LanguageScript.js +15 -1
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/AttireEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/BowlEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1136 -61
- package/lib/types/traditionArtifacts/CauldronEnchantment.js +41 -13
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/ChronicleEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1147 -71
- package/lib/types/traditionArtifacts/DaggerRitual.js +71 -13
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/InstrumentEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1135 -47
- package/lib/types/traditionArtifacts/Krallenkettenzauber.js +36 -13
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/OrbEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/RingEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +1135 -47
- package/lib/types/traditionArtifacts/SickleRitual.js +36 -13
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1135 -52
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1139 -57
- package/lib/types/traditionArtifacts/StaffEnchantment.js +41 -13
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/ToyEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1135 -47
- package/lib/types/traditionArtifacts/Trinkhornzauber.js +36 -13
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1084 -42
- package/lib/types/traditionArtifacts/WandEnchantment.js +35 -13
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1135 -47
- package/lib/types/traditionArtifacts/WeaponEnchantment.js +36 -13
- package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +8 -52
- package/lib/types/traditionArtifacts/sub/AnimalShape.js +23 -13
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +6 -28
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +14 -13
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +8 -40
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +22 -13
- package/lib/types/traditionArtifacts/sub/Brew.d.ts +6 -28
- package/lib/types/traditionArtifacts/sub/Brew.js +14 -13
- package/package.json +19 -16
- package/schema/Advantage.schema.json +3 -3
- package/schema/AnimalDisease.schema.json +4 -4
- package/schema/Aspect.schema.json +1 -1
- package/schema/Blessing.schema.json +3 -3
- package/schema/Cantrip.schema.json +4 -4
- package/schema/Ceremony.schema.json +9 -61
- package/schema/CombatTechnique_Close.schema.json +2 -2
- package/schema/CombatTechnique_Ranged.schema.json +2 -2
- package/schema/Condition.schema.json +4 -16
- package/schema/Continent.schema.json +1 -1
- package/schema/Culture.schema.json +46 -50
- package/schema/Disadvantage.schema.json +3 -3
- package/schema/Disease.schema.json +2 -2
- package/schema/FamiliarsTrick.schema.json +45 -71
- package/schema/Lessons_Curriculum.schema.json +26 -36
- package/schema/LiturgicalChant.schema.json +9 -61
- package/schema/Locale.schema.json +1 -1
- package/schema/MetaCondition.schema.json +5 -17
- package/schema/Patron.schema.json +60 -71
- package/schema/PatronCategory.schema.json +1 -1
- package/schema/PersonalityTrait.schema.json +2 -2
- package/schema/Profession.schema.json +68 -62
- package/schema/Property.schema.json +1 -1
- package/schema/Race.schema.json +17 -17
- package/schema/Ritual.schema.json +8 -60
- package/schema/SexPractice.schema.json +1 -1
- package/schema/Skill.schema.json +7 -7
- package/schema/SkillModificationLevel.schema.json +3 -3
- package/schema/Spell.schema.json +8 -60
- package/schema/UI.schema.json +272 -0
- package/schema/_Activatable.schema.json +52 -60
- package/schema/_ActivatableSelectOptionCategory.schema.json +31 -35
- package/schema/_ActivatableSkill.schema.json +16 -0
- package/schema/_ActivatableSkillCastingTime.schema.json +5 -5
- package/schema/_ActivatableSkillCost.schema.json +7 -7
- package/schema/_ActivatableSkillEffect.schema.json +20 -51
- package/schema/_ActivatableSkillRange.schema.json +2 -2
- package/schema/_ActivatableSkillTargetCategory.schema.json +8 -8
- package/schema/_Blessed.schema.json +1 -1
- package/schema/_DiseasePoison.schema.json +31 -23
- package/schema/_Enhancements.schema.json +1 -1
- package/schema/_I18n.schema.json +1 -1
- package/schema/_Identifier.schema.json +31 -1
- package/schema/_IdentifierGroup.schema.json +4 -1
- package/schema/_Influence.schema.json +2 -2
- package/schema/_Prerequisite.schema.json +15 -15
- package/schema/_ResponsiveText.schema.json +6 -6
- package/schema/_SkillCheck.schema.json +3 -14
- package/schema/_Spellwork.schema.json +1 -1
- package/schema/equipment/EquipmentPackage.schema.json +1 -1
- package/schema/equipment/item/Armor.schema.json +5 -5
- package/schema/equipment/item/BandageOrRemedy.schema.json +2 -2
- package/schema/equipment/item/Book.schema.json +1 -1
- package/schema/equipment/item/CeremonialItem.schema.json +2 -2
- package/schema/equipment/item/Elixir.schema.json +5 -25
- package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +1 -1
- package/schema/equipment/item/IlluminationLightSource.schema.json +4 -8
- package/schema/equipment/item/Jewelry.schema.json +1 -1
- package/schema/equipment/item/LuxuryGood.schema.json +2 -2
- package/schema/equipment/item/MusicalInstrument.schema.json +1 -1
- package/schema/equipment/item/Poison.schema.json +25 -17
- package/schema/equipment/item/ToolOfTheTrade.schema.json +1 -1
- package/schema/equipment/item/Weapon.schema.json +11 -11
- package/schema/equipment/item/_Item.schema.json +4 -4
- package/schema/equipment/item/_MeleeWeapon.schema.json +3 -7
- package/schema/equipment/item/_RangedWeapon.schema.json +5 -5
- package/schema/equipment/item/_Weapon.schema.json +2 -2
- package/schema/equipment/item/sub/ArmorType.schema.json +1 -1
- package/schema/magicalActions/AnimistPower.schema.json +10 -36
- package/schema/magicalActions/Curse.schema.json +5 -31
- package/schema/magicalActions/DominationRitual.schema.json +6 -32
- package/schema/magicalActions/ElvenMagicalSong.schema.json +4 -17
- package/schema/magicalActions/GeodeRitual.schema.json +7 -59
- package/schema/magicalActions/JesterTrick.schema.json +7 -59
- package/schema/magicalActions/MagicalDance.schema.json +7 -33
- package/schema/magicalActions/MagicalMelody.schema.json +7 -33
- package/schema/magicalActions/MagicalRune.schema.json +53 -146
- package/schema/magicalActions/ZibiljaRitual.schema.json +7 -59
- package/schema/magicalActions/_MusicTradition.schema.json +1 -1
- package/schema/magicalActions/_SkillReference.schema.json +2 -24
- package/schema/prerequisites/ConditionalPrerequisites.schema.json +1 -1
- package/schema/prerequisites/DisplayOption.schema.json +1 -1
- package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +1 -1
- package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +2 -2
- package/schema/prerequisites/single/PublicationPrerequisite.schema.json +1 -2
- package/schema/prerequisites/single/RacePrerequisite.schema.json +1 -1
- package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +2 -2
- package/schema/prerequisites/single/TextPrerequisite.schema.json +4 -4
- package/schema/prerequisites/single/TraditionPrerequisite.schema.json +4 -4
- package/schema/rule/CoreRule.schema.json +5 -5
- package/schema/rule/FocusRule.schema.json +1 -1
- package/schema/rule/OptionalRule.schema.json +1 -1
- package/schema/source/Publication.schema.json +2 -2
- package/schema/source/_PublicationRef.schema.json +9 -9
- package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +2 -2
- package/schema/specialAbility/BlessedTradition.schema.json +74 -52
- package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +2 -2
- package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +155 -504
- package/schema/specialAbility/CommandSpecialAbility.schema.json +23 -20
- package/schema/specialAbility/FatePointSpecialAbility.schema.json +1 -1
- package/schema/specialAbility/GeneralSpecialAbility.schema.json +1 -1
- package/schema/specialAbility/KarmaSpecialAbility.schema.json +1 -1
- package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +155 -504
- package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +155 -504
- package/schema/specialAbility/MagicalSign.schema.json +2 -2
- package/schema/specialAbility/MagicalSpecialAbility.schema.json +1 -1
- package/schema/specialAbility/MagicalTradition.schema.json +8 -8
- package/schema/specialAbility/PactGift.schema.json +4 -4
- package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +1 -1
- package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +155 -504
- package/schema/specialAbility/VampiricGift.schema.json +1 -1
- package/schema/specialAbility/_Tradition.schema.json +1 -1
- package/schema/specialAbility/sub/Language.schema.json +4 -4
- package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/AttireEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/BowlEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/CauldronEnchantment.schema.json +2 -2
- package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/DaggerRitual.schema.json +14 -18
- package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +1 -1
- package/schema/traditionArtifacts/OrbEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/RingEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/SickleRitual.schema.json +1 -1
- package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +2 -2
- package/schema/traditionArtifacts/StaffEnchantment.schema.json +2 -2
- package/schema/traditionArtifacts/ToyEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/Trinkhornzauber.schema.json +1 -1
- package/schema/traditionArtifacts/WandEnchantment.schema.json +1 -1
- package/schema/traditionArtifacts/WeaponEnchantment.schema.json +1 -1
- package/.prettierrc.yml +0 -3
- package/lib/cache/activatableSelectOptions.d.ts +0 -80
- package/lib/cache/activatableSelectOptions.js +0 -935
- package/lib/cache/ancestorBloodAdvantages.d.ts +0 -5
- package/lib/cache/ancestorBloodAdvantages.js +0 -18
- package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.d.ts +0 -20
- package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +0 -164
- package/lib/cache/newApplicationsAndUses.d.ts +0 -20
- package/lib/cache/newApplicationsAndUses.js +0 -126
- package/lib/cacheConfig.d.ts +0 -4
- package/lib/cacheConfig.js +0 -1
- package/lib/config/build.d.ts +0 -6
- package/lib/config/build.js +0 -8
- package/lib/config/cache.d.ts +0 -16
- package/lib/config/cache.js +0 -10
- package/lib/config/types.d.ts +0 -462
- package/lib/config/types.js +0 -306
- package/lib/errors.d.ts +0 -20
- package/lib/errors.js +0 -33
- package/lib/helpers/array.d.ts +0 -14
- package/lib/helpers/array.js +0 -15
- package/lib/helpers/i18n.d.ts +0 -1
- package/lib/helpers/i18n.js +0 -1
- package/lib/helpers/io.d.ts +0 -29
- package/lib/helpers/io.js +0 -51
- package/lib/helpers/objectPath.d.ts +0 -13
- package/lib/helpers/objectPath.js +0 -3
- package/lib/helpers/pair.d.ts +0 -20
- package/lib/helpers/pair.js +0 -20
- package/lib/helpers/result.d.ts +0 -57
- package/lib/helpers/result.js +0 -45
- package/lib/rendering/UI.d.ts +0 -14
- package/lib/rendering/UI.js +0 -28
- package/lib/typeConfig.d.ts +0 -10
- package/lib/typeConfig.js +0 -1
- package/lib/types/CombatTechnique_Close.d.ts +0 -73
- package/lib/types/CombatTechnique_Close.js +0 -14
- package/lib/types/CombatTechnique_Ranged.d.ts +0 -66
- package/lib/types/CombatTechnique_Ranged.js +0 -14
- package/lib/types/Kirchenpraegung.d.ts +0 -10
- package/lib/types/Kirchenpraegung.js +0 -14
- package/lib/types/Lessons_Curriculum.d.ts +0 -236
- package/lib/types/Lessons_Curriculum.js +0 -14
- package/lib/types/Lessons_Guideline.d.ts +0 -34
- package/lib/types/Lessons_Guideline.js +0 -14
- package/lib/types/UI.d.ts +0 -1216
- package/lib/types/UI.js +0 -14
- package/lib/types/_LocaleMap.d.ts +0 -10
- package/lib/types/_LocaleMap.js +0 -1
- package/lib/types/_NonEmptyString.d.ts +0 -9
- package/lib/types/_NonEmptyString.js +0 -1
- package/lib/types/_SimpleReferences.d.ts +0 -134
- package/lib/types/_SimpleReferences.js +0 -1
- package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +0 -7
- package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +0 -14
- package/lib/types/equipment/item/Stationary.d.ts +0 -7
- package/lib/types/equipment/item/Stationary.js +0 -14
- package/lib/types/magicalActions/_SkillReference.d.ts +0 -11
- package/lib/types/magicalActions/_SkillReference.js +0 -1
- package/lib/validation/builders/integrity.d.ts +0 -56
- package/lib/validation/builders/integrity.js +0 -44
- package/lib/validation/builders/naming.d.ts +0 -15
- package/lib/validation/builders/naming.js +0 -17
- package/lib/validation/builders/schema.d.ts +0 -31
- package/lib/validation/builders/schema.js +0 -32
- package/lib/validation/filename.d.ts +0 -9
- package/lib/validation/filename.js +0 -10
- package/lib/validation/raw.d.ts +0 -8
- package/lib/validation/raw.js +0 -54
- package/lib/validation/schema.d.ts +0 -6
- package/lib/validation/schema.js +0 -32
package/lib/types/UI.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @main UI
|
|
3
|
-
*/
|
|
4
|
-
import { Result } from "../helpers/result.js";
|
|
5
|
-
import { validateLanguageFileName } from "../validation/builders/naming.js";
|
|
6
|
-
import { createSchemaValidator } from "../validation/builders/schema.js";
|
|
7
|
-
import { getFilenameAsStringId } from "../validation/filename.js";
|
|
8
|
-
export const config = {
|
|
9
|
-
name: "UI",
|
|
10
|
-
id: getFilenameAsStringId,
|
|
11
|
-
integrityValidator: () => Result.ok(undefined),
|
|
12
|
-
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
|
-
fileNameValidator: validateLanguageFileName,
|
|
14
|
-
};
|
package/lib/types/_LocaleMap.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { AdvantageIdentifier, AnimalTypeIdentifier, AnimistTribeIdentifier, ArmorIdentifier, AspectIdentifier, AttributeIdentifier, BlessedTraditionIdentifier, BlessingIdentifier, CantripIdentifier, CeremonyIdentifier, CloseCombatTechniqueIdentifier, CultureIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ElementIdentifier, EyeColorIdentifier, GuidelineIdentifier, HairColorIdentifier, LanguageIdentifier, LiturgicalChantIdentifier, MagicalTraditionIdentifier, PactCategoryIdentifier, PactDomainIdentifier, PatronCategoryIdentifier, PatronIdentifier, PersonalityTraitIdentifier, ProfessionIdentifier, ProfessionVariantIdentifier, PropertyIdentifier, RaceIdentifier, RangedCombatTechniqueIdentifier, RitualIdentifier, ScriptIdentifier, SkillGroupIdentifier, SkillIdentifier, SocialStatusIdentifier, SpellIdentifier, SubjectIdentifier, TargetCategoryIdentifier, WeaponIdentifier } from "./_Identifier.js";
|
|
2
|
-
import { CombatTechniqueIdentifier, SpellworkIdentifier, TraditionIdentifier } from "./_IdentifierGroup.js";
|
|
3
|
-
export type FocusRuleSubjectReference = {
|
|
4
|
-
id: SubjectIdentifier;
|
|
5
|
-
};
|
|
6
|
-
export type RaceReference = {
|
|
7
|
-
id: RaceIdentifier;
|
|
8
|
-
};
|
|
9
|
-
export type CultureReference = {
|
|
10
|
-
id: CultureIdentifier;
|
|
11
|
-
};
|
|
12
|
-
export type ProfessionReference = {
|
|
13
|
-
id: ProfessionIdentifier;
|
|
14
|
-
};
|
|
15
|
-
export type ProfessionVariantReference = {
|
|
16
|
-
id: ProfessionVariantIdentifier;
|
|
17
|
-
};
|
|
18
|
-
export type AttributeReference = {
|
|
19
|
-
id: AttributeIdentifier;
|
|
20
|
-
};
|
|
21
|
-
export type SkillReference = {
|
|
22
|
-
id: SkillIdentifier;
|
|
23
|
-
};
|
|
24
|
-
export type SkillGroupReference = {
|
|
25
|
-
id: SkillGroupIdentifier;
|
|
26
|
-
};
|
|
27
|
-
export type CombatTechniqueReference = {
|
|
28
|
-
id: CombatTechniqueIdentifier;
|
|
29
|
-
};
|
|
30
|
-
export type CloseCombatTechniqueReference = {
|
|
31
|
-
id: CloseCombatTechniqueIdentifier;
|
|
32
|
-
};
|
|
33
|
-
export type RangedCombatTechniqueReference = {
|
|
34
|
-
id: RangedCombatTechniqueIdentifier;
|
|
35
|
-
};
|
|
36
|
-
export type MagicalTraditionReference = {
|
|
37
|
-
id: MagicalTraditionIdentifier;
|
|
38
|
-
};
|
|
39
|
-
export type CantripReference = {
|
|
40
|
-
id: CantripIdentifier;
|
|
41
|
-
};
|
|
42
|
-
export type SpellReference = {
|
|
43
|
-
id: SpellIdentifier;
|
|
44
|
-
};
|
|
45
|
-
export type RitualReference = {
|
|
46
|
-
id: RitualIdentifier;
|
|
47
|
-
};
|
|
48
|
-
export type SpellworkReference = {
|
|
49
|
-
id: SpellworkIdentifier;
|
|
50
|
-
};
|
|
51
|
-
export type PropertyReference = {
|
|
52
|
-
id: PropertyIdentifier;
|
|
53
|
-
};
|
|
54
|
-
export type BlessedTraditionReference = {
|
|
55
|
-
id: BlessedTraditionIdentifier;
|
|
56
|
-
};
|
|
57
|
-
export type BlessingReference = {
|
|
58
|
-
id: BlessingIdentifier;
|
|
59
|
-
};
|
|
60
|
-
export type LiturgicalChantReference = {
|
|
61
|
-
id: LiturgicalChantIdentifier;
|
|
62
|
-
};
|
|
63
|
-
export type CeremonyReference = {
|
|
64
|
-
id: CeremonyIdentifier;
|
|
65
|
-
};
|
|
66
|
-
export type AspectReference = {
|
|
67
|
-
id: AspectIdentifier;
|
|
68
|
-
};
|
|
69
|
-
export type AdvantageReference = {
|
|
70
|
-
id: AdvantageIdentifier;
|
|
71
|
-
};
|
|
72
|
-
export type DisadvantageReference = {
|
|
73
|
-
id: DisadvantageIdentifier;
|
|
74
|
-
};
|
|
75
|
-
export type AdvancedSpecialAbilityReference<Identifier> = {
|
|
76
|
-
id: Identifier;
|
|
77
|
-
};
|
|
78
|
-
export type LanguageReference = {
|
|
79
|
-
id: LanguageIdentifier;
|
|
80
|
-
};
|
|
81
|
-
export type ScriptReference = {
|
|
82
|
-
id: ScriptIdentifier;
|
|
83
|
-
};
|
|
84
|
-
export type SocialStatusReference = {
|
|
85
|
-
id: SocialStatusIdentifier;
|
|
86
|
-
};
|
|
87
|
-
export type CurriculumReference = {
|
|
88
|
-
id: CurriculumIdentifier;
|
|
89
|
-
};
|
|
90
|
-
export type GuidelineReference = {
|
|
91
|
-
id: GuidelineIdentifier;
|
|
92
|
-
};
|
|
93
|
-
export type AnimalTypeReference = {
|
|
94
|
-
id: AnimalTypeIdentifier;
|
|
95
|
-
};
|
|
96
|
-
export type TargetCategoryReference = {
|
|
97
|
-
id: TargetCategoryIdentifier;
|
|
98
|
-
};
|
|
99
|
-
export type PatronCategoryReference = {
|
|
100
|
-
id: PatronCategoryIdentifier;
|
|
101
|
-
};
|
|
102
|
-
export type PersonalityTraitReference = {
|
|
103
|
-
id: PersonalityTraitIdentifier;
|
|
104
|
-
};
|
|
105
|
-
export type HairColorReference = {
|
|
106
|
-
id: HairColorIdentifier;
|
|
107
|
-
};
|
|
108
|
-
export type EyeColorReference = {
|
|
109
|
-
id: EyeColorIdentifier;
|
|
110
|
-
};
|
|
111
|
-
export type PactCategoryReference = {
|
|
112
|
-
id: PactCategoryIdentifier;
|
|
113
|
-
};
|
|
114
|
-
export type PactDomainReference = {
|
|
115
|
-
id: PactDomainIdentifier;
|
|
116
|
-
};
|
|
117
|
-
export type PatronReference = {
|
|
118
|
-
id: PatronIdentifier;
|
|
119
|
-
};
|
|
120
|
-
export type AnimistTribeReference = {
|
|
121
|
-
id: AnimistTribeIdentifier;
|
|
122
|
-
};
|
|
123
|
-
export type ElementReference = {
|
|
124
|
-
id: ElementIdentifier;
|
|
125
|
-
};
|
|
126
|
-
export type WeaponReference = {
|
|
127
|
-
id: WeaponIdentifier;
|
|
128
|
-
};
|
|
129
|
-
export type ArmorReference = {
|
|
130
|
-
id: ArmorIdentifier;
|
|
131
|
-
};
|
|
132
|
-
export type TraditionReference = {
|
|
133
|
-
id: TraditionIdentifier;
|
|
134
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @main IlluminationRefillsOrSupplies
|
|
3
|
-
*/
|
|
4
|
-
import { TypeConfig } from "../../../typeConfig.js";
|
|
5
|
-
import { DefaultItem } from "./_Item.js";
|
|
6
|
-
export type IlluminationRefillsOrSupplies = DefaultItem;
|
|
7
|
-
export declare const config: TypeConfig<IlluminationRefillsOrSupplies, number, "IlluminationRefillsOrSupplies">;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @main IlluminationRefillsOrSupplies
|
|
3
|
-
*/
|
|
4
|
-
import { todo } from "../../../validation/builders/integrity.js";
|
|
5
|
-
import { validateEntityFileName } from "../../../validation/builders/naming.js";
|
|
6
|
-
import { createSchemaValidator } from "../../../validation/builders/schema.js";
|
|
7
|
-
import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
|
|
8
|
-
export const config = {
|
|
9
|
-
name: "IlluminationRefillsOrSupplies",
|
|
10
|
-
id: getFilenamePrefixAsNumericId,
|
|
11
|
-
integrityValidator: todo("IlluminationRefillsOrSupplies"),
|
|
12
|
-
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
|
-
fileNameValidator: validateEntityFileName,
|
|
14
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @main Stationary
|
|
3
|
-
*/
|
|
4
|
-
import { todo } from "../../../validation/builders/integrity.js";
|
|
5
|
-
import { validateEntityFileName } from "../../../validation/builders/naming.js";
|
|
6
|
-
import { createSchemaValidator } from "../../../validation/builders/schema.js";
|
|
7
|
-
import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
|
|
8
|
-
export const config = {
|
|
9
|
-
name: "Stationary",
|
|
10
|
-
id: getFilenamePrefixAsNumericId,
|
|
11
|
-
integrityValidator: todo("Stationary"),
|
|
12
|
-
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
|
-
fileNameValidator: validateEntityFileName,
|
|
14
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { SkillIdentifier } from "../_Identifier.js";
|
|
2
|
-
/**
|
|
3
|
-
* A reference to a skill used for performing melodies.
|
|
4
|
-
*/
|
|
5
|
-
export type MusicalSkillReference = {
|
|
6
|
-
/**
|
|
7
|
-
* The skill's identifier.
|
|
8
|
-
*/
|
|
9
|
-
id: SkillIdentifier<SkillIdentifierValue>;
|
|
10
|
-
};
|
|
11
|
-
export type SkillIdentifierValue = 9 | 56;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { TypeId, TypeMap } from "../../config/types.js";
|
|
2
|
-
import { PathDescriptor } from "../../helpers/objectPath.js";
|
|
3
|
-
import { Result } from "../../helpers/result.js";
|
|
4
|
-
/**
|
|
5
|
-
* An error in the shape of an `Ajv` error, with `keyword` being the
|
|
6
|
-
* discriminating property.
|
|
7
|
-
*/
|
|
8
|
-
export type IntegrityError = {
|
|
9
|
-
keyword: "integrity";
|
|
10
|
-
instancePath: string;
|
|
11
|
-
message: string;
|
|
12
|
-
};
|
|
13
|
-
export type IntegrityValidationResult = Result<void, IntegrityError[]>;
|
|
14
|
-
/**
|
|
15
|
-
* A function that validates `data` at a specific `filePath` to be of type `T`
|
|
16
|
-
* using a specified `validator`.
|
|
17
|
-
*/
|
|
18
|
-
export type IntegrityValidator<T> = (validators: IntegrityValidators, data: T, filepath: string) => IntegrityValidationResult;
|
|
19
|
-
export type IntegrityValidators = {
|
|
20
|
-
identity: IdentityIntegrityValidators;
|
|
21
|
-
};
|
|
22
|
-
export type IdentityIntegrityValidators = {
|
|
23
|
-
[K in keyof TypeMap]: {
|
|
24
|
-
isUnique: (id: TypeId<K>) => boolean;
|
|
25
|
-
exists: (id: TypeId<K>) => boolean;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
export declare const getReferencialIntegrityErrors: <T>(ids: T[], typeName: string, existsId: (id: T) => boolean, pathToData: PathDescriptor) => IntegrityValidationResult;
|
|
29
|
-
interface Translatable<T> {
|
|
30
|
-
/**
|
|
31
|
-
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
32
|
-
* @minProperties 1
|
|
33
|
-
*/
|
|
34
|
-
translations: {
|
|
35
|
-
[localeId: string]: T;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
export declare const getReferencialIntegrityErrorsForTranslatable: <T>(validators: IntegrityValidators, data: Translatable<T>, pathToData?: PathDescriptor) => IntegrityValidationResult;
|
|
39
|
-
/**
|
|
40
|
-
* Validates that a given identifier is unique. If the identifier is present in
|
|
41
|
-
* both the file name and the file contents, their equality is validated as
|
|
42
|
-
* well. The `pathToId` parameter is used to identify the location of the
|
|
43
|
-
* identifier in the file contents.
|
|
44
|
-
*/
|
|
45
|
-
export declare const validateEntityIntegrity: <ID extends string | number>(isUnique: (id: ID) => boolean, filenameId: ID, dataId?: ID | undefined, pathToId?: PathDescriptor) => IntegrityValidationResult;
|
|
46
|
-
/**
|
|
47
|
-
* Warns about missing integrity validation, but returns no errors.
|
|
48
|
-
* @param typeName The name of the type that is not being validated.
|
|
49
|
-
* @returns An empty list of errors.
|
|
50
|
-
*/
|
|
51
|
-
export declare const todo: (typeName: string) => () => IntegrityValidationResult;
|
|
52
|
-
/**
|
|
53
|
-
* Combines multiple integrity validation results into one.
|
|
54
|
-
*/
|
|
55
|
-
export declare const reduceIntegrityValidationResults: (...results: IntegrityValidationResult[]) => IntegrityValidationResult;
|
|
56
|
-
export {};
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { printPathDescriptor } from "../../helpers/objectPath.js";
|
|
2
|
-
import { Result } from "../../helpers/result.js";
|
|
3
|
-
import { config } from "../../types/Locale.js";
|
|
4
|
-
const integrityError = (instancePath, message) => ({
|
|
5
|
-
keyword: "integrity",
|
|
6
|
-
instancePath: printPathDescriptor(instancePath),
|
|
7
|
-
message
|
|
8
|
-
});
|
|
9
|
-
/**
|
|
10
|
-
* Returns an error if the condition evaluates to `false`.
|
|
11
|
-
*/
|
|
12
|
-
const conditionalError = (condition, instancePath, message) => condition ? Result.ok(undefined) : Result.error([integrityError(instancePath, message)]);
|
|
13
|
-
export const getReferencialIntegrityErrors = (ids, typeName, existsId, pathToData) => {
|
|
14
|
-
const errors = ids
|
|
15
|
-
.filter(id => !existsId(id))
|
|
16
|
-
.map(id => integrityError(pathToData, `The identifier "${id}" for type ${typeName} does not exist.`));
|
|
17
|
-
if (errors.length > 0) {
|
|
18
|
-
return Result.error(errors);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
return Result.ok(undefined);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
export const getReferencialIntegrityErrorsForTranslatable = (validators, data, pathToData = []) => getReferencialIntegrityErrors(Object.keys(data.translations), config.name, validators.identity.locales.exists, [...pathToData, { k: "translations" }]);
|
|
25
|
-
/**
|
|
26
|
-
* Validates that a given identifier is unique. If the identifier is present in
|
|
27
|
-
* both the file name and the file contents, their equality is validated as
|
|
28
|
-
* well. The `pathToId` parameter is used to identify the location of the
|
|
29
|
-
* identifier in the file contents.
|
|
30
|
-
*/
|
|
31
|
-
export const validateEntityIntegrity = (isUnique, filenameId, dataId, pathToId = [{ k: "id" }]) => reduceIntegrityValidationResults(conditionalError(isUnique(filenameId), [], `The identifier "${filenameId}" is not unique.`), conditionalError(dataId === undefined || filenameId === dataId, pathToId, `The identifier in the filename (${JSON.stringify(filenameId)}) and the identifier (${JSON.stringify(dataId)}) in the file itself are not equal.`));
|
|
32
|
-
/**
|
|
33
|
-
* Warns about missing integrity validation, but returns no errors.
|
|
34
|
-
* @param typeName The name of the type that is not being validated.
|
|
35
|
-
* @returns An empty list of errors.
|
|
36
|
-
*/
|
|
37
|
-
export const todo = (typeName) => {
|
|
38
|
-
console.warn(`The type ${typeName} has no integrity validation yet.`);
|
|
39
|
-
return () => Result.ok(undefined);
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Combines multiple integrity validation results into one.
|
|
43
|
-
*/
|
|
44
|
-
export const reduceIntegrityValidationResults = (...results) => results.reduce((acc, result) => Result.combine(acc, result, () => undefined, (a, b) => [...a, ...b]), Result.ok(undefined));
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Result } from "../../helpers/result.js";
|
|
2
|
-
/**
|
|
3
|
-
* An error in the shape of an `Ajv` error, with `keyword` being the
|
|
4
|
-
* discriminating property.
|
|
5
|
-
*/
|
|
6
|
-
export type FileNameError = {
|
|
7
|
-
keyword: "filename";
|
|
8
|
-
instancePath: string;
|
|
9
|
-
message: string;
|
|
10
|
-
};
|
|
11
|
-
export type FileNameValidationResult = Result<void, FileNameError[]>;
|
|
12
|
-
export type FileNameValidator = (filePath: string) => FileNameValidationResult;
|
|
13
|
-
export declare const createFileNameValidator: (pattern: RegExp) => FileNameValidator;
|
|
14
|
-
export declare const validateEntityFileName: FileNameValidator;
|
|
15
|
-
export declare const validateLanguageFileName: FileNameValidator;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { basename } from "node:path";
|
|
2
|
-
import { error, ok } from "../../helpers/result.js";
|
|
3
|
-
const ENTITY_FILENAME_PATTERN = /^(?:0|[1-9][0-9]*)_(?:[A-Z][a-zA-Z]*|[1-9][0-9]*)(?:-(?:[a-zA-Z]+|[1-9][0-9]*))*\.yml$/;
|
|
4
|
-
const LANGUAGE_FILENAME_PATTERN = /^[a-z]{2}-[A-Z]{2}\.yml$/;
|
|
5
|
-
const fileNameError = (pattern, fileName) => ({
|
|
6
|
-
keyword: "filename",
|
|
7
|
-
instancePath: "",
|
|
8
|
-
message: `the file name "${fileName}" does not match the pattern ${pattern.source}`
|
|
9
|
-
});
|
|
10
|
-
export const createFileNameValidator = (pattern) => (filePath) => {
|
|
11
|
-
const fileName = basename(filePath);
|
|
12
|
-
return pattern.test(fileName)
|
|
13
|
-
? ok(undefined)
|
|
14
|
-
: error([fileNameError(pattern, fileName)]);
|
|
15
|
-
};
|
|
16
|
-
export const validateEntityFileName = createFileNameValidator(ENTITY_FILENAME_PATTERN);
|
|
17
|
-
export const validateLanguageFileName = createFileNameValidator(LANGUAGE_FILENAME_PATTERN);
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { default as AjvModule, DefinedError } from "ajv";
|
|
2
|
-
import { Result } from "../../helpers/result.js";
|
|
3
|
-
type Ajv = AjvModule.default;
|
|
4
|
-
export type SchemaError = DefinedError;
|
|
5
|
-
/**
|
|
6
|
-
* The result of validating a single file. Either the valid data or validation
|
|
7
|
-
* errors.
|
|
8
|
-
*/
|
|
9
|
-
export type SchemaValidationResult<T> = Result<T, SchemaError[]>;
|
|
10
|
-
/**
|
|
11
|
-
* A function that validates `data` at a specific `filePath` to be of type `T`
|
|
12
|
-
* using a specified `validator`.
|
|
13
|
-
*/
|
|
14
|
-
export type SchemaValidator<T> = (validator: Ajv, data: unknown, filePath: string) => SchemaValidationResult<T>;
|
|
15
|
-
/**
|
|
16
|
-
* Options for creating a `TypeValidator`.
|
|
17
|
-
*/
|
|
18
|
-
export type SchemaValidatorOptions = {
|
|
19
|
-
ignoreFileNamePattern?: boolean;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Creates a type validator based on the URL of the type definition source file
|
|
23
|
-
* and options. The source file URL is used to derive it’s corresponding schema
|
|
24
|
-
* location.
|
|
25
|
-
* @param importMetaUrl The `import.meta.url` value of the type definition
|
|
26
|
-
* source file.
|
|
27
|
-
* @param options
|
|
28
|
-
* @returns
|
|
29
|
-
*/
|
|
30
|
-
export declare const createSchemaValidator: <T>(importMetaUrl: string, options?: SchemaValidatorOptions) => SchemaValidator<T>;
|
|
31
|
-
export {};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { basename, relative, sep } from "node:path";
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { libDir } from "../../config/build.js";
|
|
4
|
-
import { changeFileExtension } from "../../helpers/io.js";
|
|
5
|
-
import { error, ok } from "../../helpers/result.js";
|
|
6
|
-
const schemaIdFromSourcePath = (sourcePath) => {
|
|
7
|
-
const relativePathOfType = relative(libDir, fileURLToPath(sourcePath));
|
|
8
|
-
const relativePathOfSchema = changeFileExtension(relativePathOfType, ".schema.json");
|
|
9
|
-
return "/" + relativePathOfSchema.split(sep).join("/");
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Creates a type validator based on the URL of the type definition source file
|
|
13
|
-
* and options. The source file URL is used to derive it’s corresponding schema
|
|
14
|
-
* location.
|
|
15
|
-
* @param importMetaUrl The `import.meta.url` value of the type definition
|
|
16
|
-
* source file.
|
|
17
|
-
* @param options
|
|
18
|
-
* @returns
|
|
19
|
-
*/
|
|
20
|
-
export const createSchemaValidator = (importMetaUrl, options = {}) => {
|
|
21
|
-
const { ignoreFileNamePattern = false } = options;
|
|
22
|
-
const schemaId = schemaIdFromSourcePath(importMetaUrl);
|
|
23
|
-
return (validator, data, filePath) => {
|
|
24
|
-
const fileName = basename(filePath);
|
|
25
|
-
if (validator.validate(schemaId, data)) {
|
|
26
|
-
return ok(data);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
return error(validator.errors ?? []);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns the numeric prefix of a filename, that is, the part before the first
|
|
3
|
-
* underscore.
|
|
4
|
-
*/
|
|
5
|
-
export declare const getFilenamePrefixAsNumericId: (_data: unknown, filepath: string) => number;
|
|
6
|
-
/**
|
|
7
|
-
* Returns the filename without the extension.
|
|
8
|
-
*/
|
|
9
|
-
export declare const getFilenameAsStringId: (_data: unknown, filepath: string) => string;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { basename, extname } from "node:path";
|
|
2
|
-
/**
|
|
3
|
-
* Returns the numeric prefix of a filename, that is, the part before the first
|
|
4
|
-
* underscore.
|
|
5
|
-
*/
|
|
6
|
-
export const getFilenamePrefixAsNumericId = (_data, filepath) => Number.parseInt(/^(\d+?)_/.exec(basename(filepath))?.[1] ?? "", 10);
|
|
7
|
-
/**
|
|
8
|
-
* Returns the filename without the extension.
|
|
9
|
-
*/
|
|
10
|
-
export const getFilenameAsStringId = (_data, filepath) => basename(filepath, extname(filepath));
|
package/lib/validation/raw.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { TypeId, TypeMap } from "../config/types.js";
|
|
2
|
-
import "../helpers/array.js";
|
|
3
|
-
import { Result } from "../helpers/result.js";
|
|
4
|
-
import { EntityDirectoryPaths, TypeValidationError, ValidationOptions } from "../main.js";
|
|
5
|
-
export type TypeIdPair<K extends keyof TypeMap> = [id: TypeId<K>, data: TypeMap[K]];
|
|
6
|
-
export type TypeValidationResult<K extends keyof TypeMap> = Result<TypeIdPair<K>, TypeValidationError[]>;
|
|
7
|
-
export type TypeValidationResultsByType = [keyof TypeMap, [filePath: string, result: TypeValidationResult<keyof TypeMap>][]][];
|
|
8
|
-
export declare const getRawValidationResults: (entityDirPaths: EntityDirectoryPaths, options?: ValidationOptions) => Promise<TypeValidationResultsByType>;
|
package/lib/validation/raw.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { readdir } from "node:fs/promises";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { jsonSchemaDir, jsonSchemaSpec } from "../config/build.js";
|
|
4
|
-
import { configMap } from "../config/types.js";
|
|
5
|
-
import "../helpers/array.js";
|
|
6
|
-
import { collator } from "../helpers/i18n.js";
|
|
7
|
-
import { isHiddenFileName, readYamlFile } from "../helpers/io.js";
|
|
8
|
-
import { mapSecond, mapSecondAsync, mapToSecondAsync } from "../helpers/pair.js";
|
|
9
|
-
import { Result, isOk } from "../helpers/result.js";
|
|
10
|
-
import { getPreparedSchemaValidator } from "./schema.js";
|
|
11
|
-
const getFiles = async (path) => (await readdir(path))
|
|
12
|
-
.sort(collator.compare)
|
|
13
|
-
.filter(isHiddenFileName)
|
|
14
|
-
.map(fileName => join(path, fileName))
|
|
15
|
-
.map(mapToSecondAsync(async (filePath) => {
|
|
16
|
-
try {
|
|
17
|
-
return await readYamlFile(filePath);
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
if (error instanceof Error) {
|
|
21
|
-
error.message = `in "${filePath}":\n ${error.message}`;
|
|
22
|
-
}
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
}))
|
|
26
|
-
.promiseAll();
|
|
27
|
-
const validateStructuralIntegrityOfFiles = (validator, typeConfig, validateFileName, files) => files.map(mapSecond((data, path) => {
|
|
28
|
-
const schemaValidationResult = typeConfig.schemaValidator(validator, data, path);
|
|
29
|
-
const fileNameValidationResult = validateFileName(path);
|
|
30
|
-
return Result.map(Result.combine(schemaValidationResult, fileNameValidationResult, (data, _) => data, (schemaErrors, fileNameErrors) => [...schemaErrors, ...fileNameErrors]), data => [typeConfig.id(data, path), data]);
|
|
31
|
-
}));
|
|
32
|
-
const validateSemanticAndReferencialIntegrityOfFiles = (validators, typeConfig, results) => results.map(mapSecond((res, path) => Result.reduce(res, ([id, data]) => Result.map(typeConfig.integrityValidator(validators, data, path), () => [id, data]), errors => Result.error(errors))));
|
|
33
|
-
export const getRawValidationResults = async (entityDirPaths, options = {}) => {
|
|
34
|
-
const { checkIntegrity = false, ajvOptions = {} } = options;
|
|
35
|
-
const validator = await getPreparedSchemaValidator(jsonSchemaSpec, ajvOptions, jsonSchemaDir);
|
|
36
|
-
const entityDirectoryPathEntries = Object.entries(entityDirPaths);
|
|
37
|
-
const structuralIntegrityResults = await Promise.all(entityDirectoryPathEntries.map(mapSecondAsync(async (path, typeName) => {
|
|
38
|
-
const files = await getFiles(path);
|
|
39
|
-
return validateStructuralIntegrityOfFiles(validator, configMap[typeName], configMap[typeName].fileNameValidator, files);
|
|
40
|
-
})));
|
|
41
|
-
if (checkIntegrity) {
|
|
42
|
-
const identityIntegrityValidators = Object.fromEntries(structuralIntegrityResults.map(mapSecond(results => {
|
|
43
|
-
const idCount = results.reduce((mp, [_, result]) => isOk(result) ? mp.set(result.value[0], (mp.get(result.value[0]) ?? 0) + 1) : mp, new Map());
|
|
44
|
-
return {
|
|
45
|
-
isUnique: (id) => (idCount.get(id) ?? 0) === 1,
|
|
46
|
-
exists: (id) => idCount.has(id),
|
|
47
|
-
};
|
|
48
|
-
})));
|
|
49
|
-
return structuralIntegrityResults.map(mapSecond((results, typeName) => validateSemanticAndReferencialIntegrityOfFiles({ identity: identityIntegrityValidators }, configMap[typeName], results)));
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
return structuralIntegrityResults;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import AjvModule from "ajv";
|
|
2
|
-
import Ajv2019Module from "ajv/dist/2019.js";
|
|
3
|
-
import Ajv2020Module from "ajv/dist/2020.js";
|
|
4
|
-
import { JsonSchemaSpec } from "optolith-tsjsonschemamd/renderers/jsonSchema";
|
|
5
|
-
import "../helpers/array.js";
|
|
6
|
-
export declare const getPreparedSchemaValidator: (jsonSchemaSpec: JsonSchemaSpec, validatorOptions: AjvModule.Options | undefined, jsonSchemaDir: string) => Promise<Ajv2019Module.default | Ajv2020Module.default>;
|
package/lib/validation/schema.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { assertExhaustive } from "@optolith/helpers/typeSafety";
|
|
2
|
-
import addFormatsModule from "ajv-formats";
|
|
3
|
-
import Ajv2019Module from "ajv/dist/2019.js";
|
|
4
|
-
import Ajv2020Module from "ajv/dist/2020.js";
|
|
5
|
-
import "../helpers/array.js";
|
|
6
|
-
import { isHiddenFileName, readDirectoryRec, readJsonFile } from "../helpers/io.js";
|
|
7
|
-
const Ajv2019 = Ajv2019Module.default;
|
|
8
|
-
const Ajv2020 = Ajv2020Module.default;
|
|
9
|
-
const addFormats = addFormatsModule.default;
|
|
10
|
-
const createSchemaValidator = (jsonSchemaSpec, validatorOptions = {}) => {
|
|
11
|
-
switch (jsonSchemaSpec) {
|
|
12
|
-
case "Draft_07":
|
|
13
|
-
case "Draft_2019_09":
|
|
14
|
-
return new Ajv2019(validatorOptions);
|
|
15
|
-
case "Draft_2020_12":
|
|
16
|
-
return new Ajv2020(validatorOptions);
|
|
17
|
-
default:
|
|
18
|
-
return assertExhaustive(jsonSchemaSpec);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
const registerAllJsonSchemaDocuments = async (jsonSchemaDir, validator) => {
|
|
22
|
-
for await (const jsonSchemaPath of readDirectoryRec(jsonSchemaDir, isHiddenFileName)) {
|
|
23
|
-
const jsonSchema = await readJsonFile(jsonSchemaPath);
|
|
24
|
-
validator.addSchema(jsonSchema);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
export const getPreparedSchemaValidator = async (jsonSchemaSpec, validatorOptions = {}, jsonSchemaDir) => {
|
|
28
|
-
const validator = createSchemaValidator(jsonSchemaSpec, validatorOptions);
|
|
29
|
-
await registerAllJsonSchemaDocuments(jsonSchemaDir, validator);
|
|
30
|
-
addFormats(validator);
|
|
31
|
-
return validator;
|
|
32
|
-
};
|