optolith-database-schema 0.11.4 → 0.11.6
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 +4 -0
- package/lib/config/build.d.ts +6 -0
- package/lib/config/build.js +8 -0
- package/lib/config/types.d.ts +463 -0
- package/lib/config/types.js +308 -0
- package/lib/errors.d.ts +20 -0
- package/lib/errors.js +33 -0
- package/lib/helpers/array.d.ts +14 -0
- package/lib/helpers/array.js +15 -0
- package/lib/helpers/i18n.d.ts +1 -0
- package/lib/helpers/i18n.js +1 -0
- package/lib/helpers/io.d.ts +29 -0
- package/lib/helpers/io.js +51 -0
- package/lib/helpers/objectPath.d.ts +13 -0
- package/lib/helpers/objectPath.js +3 -0
- package/lib/helpers/pair.d.ts +20 -0
- package/lib/helpers/pair.js +20 -0
- package/lib/helpers/result.d.ts +57 -0
- package/lib/helpers/result.js +45 -0
- package/lib/helpers/typeSafety.d.ts +6 -0
- package/lib/helpers/typeSafety.js +8 -0
- package/lib/main.d.ts +55 -0
- package/lib/main.js +55 -0
- package/lib/typeConfig.d.ts +10 -0
- package/lib/typeConfig.js +1 -0
- package/lib/types/Advantage.d.ts +63 -0
- package/lib/types/Advantage.js +12 -0
- package/lib/types/AnimalDisease.d.ts +59 -0
- package/lib/types/AnimalDisease.js +12 -0
- package/lib/types/AnimalType.d.ts +28 -0
- package/lib/types/AnimalType.js +12 -0
- package/lib/types/ArcaneBardTradition.d.ts +10 -0
- package/lib/types/ArcaneBardTradition.js +12 -0
- package/lib/types/ArcaneDancerTradition.d.ts +10 -0
- package/lib/types/ArcaneDancerTradition.js +12 -0
- package/lib/types/Aspect.d.ts +33 -0
- package/lib/types/Aspect.js +12 -0
- package/lib/types/Attribute.d.ts +36 -0
- package/lib/types/Attribute.js +12 -0
- package/lib/types/Blessing.d.ts +113 -0
- package/lib/types/Blessing.js +12 -0
- package/lib/types/Cantrip.d.ts +183 -0
- package/lib/types/Cantrip.js +12 -0
- package/lib/types/Ceremony.d.ts +113 -0
- package/lib/types/Ceremony.js +12 -0
- package/lib/types/CombatTechnique_Close.d.ts +73 -0
- package/lib/types/CombatTechnique_Close.js +12 -0
- package/lib/types/CombatTechnique_Ranged.d.ts +66 -0
- package/lib/types/CombatTechnique_Ranged.js +12 -0
- package/lib/types/Condition.d.ts +40 -0
- package/lib/types/Condition.js +12 -0
- package/lib/types/Continent.d.ts +30 -0
- package/lib/types/Continent.js +12 -0
- package/lib/types/Culture.d.ts +382 -0
- package/lib/types/Culture.js +50 -0
- package/lib/types/DerivedCharacteristic.d.ts +61 -0
- package/lib/types/DerivedCharacteristic.js +12 -0
- package/lib/types/Disadvantage.d.ts +58 -0
- package/lib/types/Disadvantage.js +12 -0
- package/lib/types/Disease.d.ts +43 -0
- package/lib/types/Disease.js +12 -0
- package/lib/types/Element.d.ts +28 -0
- package/lib/types/Element.js +12 -0
- package/lib/types/ExperienceLevel.d.ts +64 -0
- package/lib/types/ExperienceLevel.js +12 -0
- package/lib/types/EyeColor.d.ts +28 -0
- package/lib/types/EyeColor.js +12 -0
- package/lib/types/FamiliarsTrick.d.ts +266 -0
- package/lib/types/FamiliarsTrick.js +12 -0
- package/lib/types/HairColor.d.ts +28 -0
- package/lib/types/HairColor.js +12 -0
- package/lib/types/Kirchenpraegung.d.ts +10 -0
- package/lib/types/Kirchenpraegung.js +12 -0
- package/lib/types/Lessons_Curriculum.d.ts +236 -0
- package/lib/types/Lessons_Curriculum.js +12 -0
- package/lib/types/Lessons_Guideline.d.ts +34 -0
- package/lib/types/Lessons_Guideline.js +12 -0
- package/lib/types/LiturgicalChant.d.ts +113 -0
- package/lib/types/LiturgicalChant.js +12 -0
- package/lib/types/Locale.d.ts +36 -0
- package/lib/types/Locale.js +12 -0
- package/lib/types/MetaCondition.d.ts +43 -0
- package/lib/types/MetaCondition.js +12 -0
- package/lib/types/PactCategory.d.ts +78 -0
- package/lib/types/PactCategory.js +12 -0
- package/lib/types/Patron.d.ts +207 -0
- package/lib/types/Patron.js +32 -0
- package/lib/types/PatronCategory.d.ts +36 -0
- package/lib/types/PatronCategory.js +12 -0
- package/lib/types/PersonalityTrait.d.ts +67 -0
- package/lib/types/PersonalityTrait.js +12 -0
- package/lib/types/Profession.d.ts +653 -0
- package/lib/types/Profession.js +18 -0
- package/lib/types/Property.d.ts +34 -0
- package/lib/types/Property.js +12 -0
- package/lib/types/Race.d.ts +405 -0
- package/lib/types/Race.js +23 -0
- package/lib/types/Region.d.ts +28 -0
- package/lib/types/Region.js +12 -0
- package/lib/types/Ritual.d.ts +111 -0
- package/lib/types/Ritual.js +12 -0
- package/lib/types/Service.d.ts +46 -0
- package/lib/types/Service.js +17 -0
- package/lib/types/SexPractice.d.ts +47 -0
- package/lib/types/SexPractice.js +12 -0
- package/lib/types/Skill.d.ts +142 -0
- package/lib/types/Skill.js +31 -0
- package/lib/types/SkillGroup.d.ts +37 -0
- package/lib/types/SkillGroup.js +12 -0
- package/lib/types/SkillModificationLevel.d.ts +107 -0
- package/lib/types/SkillModificationLevel.js +17 -0
- package/lib/types/SocialStatus.d.ts +28 -0
- package/lib/types/SocialStatus.js +12 -0
- package/lib/types/Spell.d.ts +111 -0
- package/lib/types/Spell.js +12 -0
- package/lib/types/State.d.ts +36 -0
- package/lib/types/State.js +12 -0
- package/lib/types/Talisman.d.ts +76 -0
- package/lib/types/Talisman.js +20 -0
- package/lib/types/TargetCategory.d.ts +42 -0
- package/lib/types/TargetCategory.js +12 -0
- package/lib/types/UI.d.ts +1062 -0
- package/lib/types/UI.js +12 -0
- package/lib/types/_Activatable.d.ts +1383 -0
- package/lib/types/_Activatable.js +44 -0
- package/lib/types/_ActivatableSelectOptionCategory.d.ts +389 -0
- package/lib/types/_ActivatableSelectOptionCategory.js +8 -0
- package/lib/types/_ActivatableSkill.d.ts +37 -0
- package/lib/types/_ActivatableSkill.js +4 -0
- package/lib/types/_ActivatableSkillCastingTime.d.ts +77 -0
- package/lib/types/_ActivatableSkillCastingTime.js +5 -0
- package/lib/types/_ActivatableSkillCheckResultBased.d.ts +39 -0
- package/lib/types/_ActivatableSkillCheckResultBased.js +16 -0
- package/lib/types/_ActivatableSkillCost.d.ts +255 -0
- package/lib/types/_ActivatableSkillCost.js +1 -0
- package/lib/types/_ActivatableSkillDuration.d.ts +138 -0
- package/lib/types/_ActivatableSkillDuration.js +13 -0
- package/lib/types/_ActivatableSkillEffect.d.ts +68 -0
- package/lib/types/_ActivatableSkillEffect.js +1 -0
- package/lib/types/_ActivatableSkillRange.d.ts +110 -0
- package/lib/types/_ActivatableSkillRange.js +5 -0
- package/lib/types/_ActivatableSkillTargetCategory.d.ts +39 -0
- package/lib/types/_ActivatableSkillTargetCategory.js +1 -0
- package/lib/types/_AlternativeNames.d.ts +11 -0
- package/lib/types/_AlternativeNames.js +1 -0
- package/lib/types/_ArcaneTradition.d.ts +28 -0
- package/lib/types/_ArcaneTradition.js +4 -0
- package/lib/types/_Blessed.d.ts +22 -0
- package/lib/types/_Blessed.js +1 -0
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +10 -0
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +1 -0
- package/lib/types/_Dice.d.ts +23 -0
- package/lib/types/_Dice.js +9 -0
- package/lib/types/_DiseasePoison.d.ts +114 -0
- package/lib/types/_DiseasePoison.js +15 -0
- package/lib/types/_Enhancements.d.ts +62 -0
- package/lib/types/_Enhancements.js +4 -0
- package/lib/types/_I18n.d.ts +34 -0
- package/lib/types/_I18n.js +1 -0
- package/lib/types/_Identifier.d.ts +1193 -0
- package/lib/types/_Identifier.js +1 -0
- package/lib/types/_IdentifierGroup.d.ts +28 -0
- package/lib/types/_IdentifierGroup.js +1 -0
- package/lib/types/_ImprovementCost.d.ts +9 -0
- package/lib/types/_ImprovementCost.js +10 -0
- package/lib/types/_Influence.d.ts +49 -0
- package/lib/types/_Influence.js +4 -0
- package/lib/types/_LocaleMap.d.ts +10 -0
- package/lib/types/_LocaleMap.js +1 -0
- package/lib/types/_NonEmptyString.d.ts +9 -0
- package/lib/types/_NonEmptyString.js +1 -0
- package/lib/types/_Prerequisite.d.ts +109 -0
- package/lib/types/_Prerequisite.js +4 -0
- package/lib/types/_ResponsiveText.d.ts +54 -0
- package/lib/types/_ResponsiveText.js +1 -0
- package/lib/types/_Sex.d.ts +10 -0
- package/lib/types/_Sex.js +11 -0
- package/lib/types/_SimpleReferences.d.ts +134 -0
- package/lib/types/_SimpleReferences.js +1 -0
- package/lib/types/_SkillCheck.d.ts +22 -0
- package/lib/types/_SkillCheck.js +13 -0
- package/lib/types/_Spellwork.d.ts +18 -0
- package/lib/types/_Spellwork.js +1 -0
- package/lib/types/equipment/EquipmentPackage.d.ts +51 -0
- package/lib/types/equipment/EquipmentPackage.js +12 -0
- package/lib/types/equipment/item/Alchemicum.d.ts +7 -0
- package/lib/types/equipment/item/Alchemicum.js +12 -0
- package/lib/types/equipment/item/Ammunition.d.ts +32 -0
- package/lib/types/equipment/item/Ammunition.js +12 -0
- package/lib/types/equipment/item/Animal.d.ts +19 -0
- package/lib/types/equipment/item/Animal.js +12 -0
- package/lib/types/equipment/item/AnimalCare.d.ts +49 -0
- package/lib/types/equipment/item/AnimalCare.js +12 -0
- package/lib/types/equipment/item/Armor.d.ts +186 -0
- package/lib/types/equipment/item/Armor.js +12 -0
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +37 -0
- package/lib/types/equipment/item/BandageOrRemedy.js +12 -0
- package/lib/types/equipment/item/Book.d.ts +61 -0
- package/lib/types/equipment/item/Book.js +12 -0
- package/lib/types/equipment/item/CeremonialItem.d.ts +42 -0
- package/lib/types/equipment/item/CeremonialItem.js +12 -0
- package/lib/types/equipment/item/Clothes.d.ts +7 -0
- package/lib/types/equipment/item/Clothes.js +12 -0
- package/lib/types/equipment/item/Container.d.ts +7 -0
- package/lib/types/equipment/item/Container.js +12 -0
- package/lib/types/equipment/item/Elixir.d.ts +76 -0
- package/lib/types/equipment/item/Elixir.js +12 -0
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +29 -0
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +12 -0
- package/lib/types/equipment/item/GemOrPreciousStone.d.ts +44 -0
- package/lib/types/equipment/item/GemOrPreciousStone.js +12 -0
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +63 -0
- package/lib/types/equipment/item/IlluminationLightSource.js +16 -0
- package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +7 -0
- package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +12 -0
- package/lib/types/equipment/item/Jewelry.d.ts +61 -0
- package/lib/types/equipment/item/Jewelry.js +12 -0
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +7 -0
- package/lib/types/equipment/item/Liebesspielzeug.js +12 -0
- package/lib/types/equipment/item/LuxuryGood.d.ts +37 -0
- package/lib/types/equipment/item/LuxuryGood.js +12 -0
- package/lib/types/equipment/item/MagicalArtifact.d.ts +40 -0
- package/lib/types/equipment/item/MagicalArtifact.js +12 -0
- package/lib/types/equipment/item/MusicalInstrument.d.ts +23 -0
- package/lib/types/equipment/item/MusicalInstrument.js +12 -0
- package/lib/types/equipment/item/OrienteeringAid.d.ts +7 -0
- package/lib/types/equipment/item/OrienteeringAid.js +12 -0
- package/lib/types/equipment/item/Poison.d.ts +359 -0
- package/lib/types/equipment/item/Poison.js +30 -0
- package/lib/types/equipment/item/RopeOrChain.d.ts +7 -0
- package/lib/types/equipment/item/RopeOrChain.js +12 -0
- package/lib/types/equipment/item/Stationary.d.ts +7 -0
- package/lib/types/equipment/item/Stationary.js +12 -0
- package/lib/types/equipment/item/ThievesTool.d.ts +7 -0
- package/lib/types/equipment/item/ThievesTool.js +12 -0
- package/lib/types/equipment/item/ToolOfTheTrade.d.ts +61 -0
- package/lib/types/equipment/item/ToolOfTheTrade.js +12 -0
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +7 -0
- package/lib/types/equipment/item/TravelGearOrTool.js +12 -0
- package/lib/types/equipment/item/Vehicle.d.ts +19 -0
- package/lib/types/equipment/item/Vehicle.js +12 -0
- package/lib/types/equipment/item/Weapon.d.ts +166 -0
- package/lib/types/equipment/item/Weapon.js +12 -0
- package/lib/types/equipment/item/WeaponAccessory.d.ts +7 -0
- package/lib/types/equipment/item/WeaponAccessory.js +12 -0
- package/lib/types/equipment/item/_Herbary.d.ts +31 -0
- package/lib/types/equipment/item/_Herbary.js +22 -0
- package/lib/types/equipment/item/_Item.d.ts +160 -0
- package/lib/types/equipment/item/_Item.js +1 -0
- package/lib/types/equipment/item/_MeleeWeapon.d.ts +108 -0
- package/lib/types/equipment/item/_MeleeWeapon.js +4 -0
- package/lib/types/equipment/item/_RangedWeapon.d.ts +109 -0
- package/lib/types/equipment/item/_RangedWeapon.js +4 -0
- package/lib/types/equipment/item/_Weapon.d.ts +57 -0
- package/lib/types/equipment/item/_Weapon.js +1 -0
- package/lib/types/equipment/item/sub/ArmorType.d.ts +37 -0
- package/lib/types/equipment/item/sub/ArmorType.js +12 -0
- package/lib/types/equipment/item/sub/Reach.d.ts +28 -0
- package/lib/types/equipment/item/sub/Reach.js +12 -0
- package/lib/types/magicalActions/AnimistPower.d.ts +238 -0
- package/lib/types/magicalActions/AnimistPower.js +12 -0
- package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +28 -0
- package/lib/types/magicalActions/AnimistPower_Tribe.js +12 -0
- package/lib/types/magicalActions/Curse.d.ts +162 -0
- package/lib/types/magicalActions/Curse.js +12 -0
- package/lib/types/magicalActions/DominationRitual.d.ts +145 -0
- package/lib/types/magicalActions/DominationRitual.js +12 -0
- package/lib/types/magicalActions/ElvenMagicalSong.d.ts +135 -0
- package/lib/types/magicalActions/ElvenMagicalSong.js +12 -0
- package/lib/types/magicalActions/GeodeRitual.d.ts +180 -0
- package/lib/types/magicalActions/GeodeRitual.js +12 -0
- package/lib/types/magicalActions/JesterTrick.d.ts +177 -0
- package/lib/types/magicalActions/JesterTrick.js +12 -0
- package/lib/types/magicalActions/MagicalDance.d.ts +119 -0
- package/lib/types/magicalActions/MagicalDance.js +12 -0
- package/lib/types/magicalActions/MagicalMelody.d.ts +124 -0
- package/lib/types/magicalActions/MagicalMelody.js +12 -0
- package/lib/types/magicalActions/MagicalRune.d.ts +294 -0
- package/lib/types/magicalActions/MagicalRune.js +12 -0
- package/lib/types/magicalActions/ZibiljaRitual.d.ts +102 -0
- package/lib/types/magicalActions/ZibiljaRitual.js +12 -0
- package/lib/types/magicalActions/_MusicTradition.d.ts +36 -0
- package/lib/types/magicalActions/_MusicTradition.js +10 -0
- package/lib/types/magicalActions/_SkillReference.d.ts +14 -0
- package/lib/types/magicalActions/_SkillReference.js +5 -0
- package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +10 -0
- package/lib/types/prerequisites/ConditionalPrerequisites.js +1 -0
- package/lib/types/prerequisites/DisplayOption.d.ts +32 -0
- package/lib/types/prerequisites/DisplayOption.js +1 -0
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +215 -0
- package/lib/types/prerequisites/PrerequisiteGroups.js +1 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +31 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/AncestorBloodPrerequisite.d.ts +5 -0
- package/lib/types/prerequisites/single/AncestorBloodPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +26 -0
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +13 -0
- package/lib/types/prerequisites/single/CulturePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +39 -0
- package/lib/types/prerequisites/single/EnhancementPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +16 -0
- package/lib/types/prerequisites/single/InfluencePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/PactPrerequisite.d.ts +23 -0
- package/lib/types/prerequisites/single/PactPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +21 -0
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +5 -0
- package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +12 -0
- package/lib/types/prerequisites/single/PublicationPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RacePrerequisite.d.ts +16 -0
- package/lib/types/prerequisites/single/RacePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +67 -0
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +6 -0
- package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +18 -0
- package/lib/types/prerequisites/single/RatedPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +19 -0
- package/lib/types/prerequisites/single/RatedSumPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RulePrerequisite.d.ts +9 -0
- package/lib/types/prerequisites/single/RulePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/SexPrerequisite.d.ts +10 -0
- package/lib/types/prerequisites/single/SexPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +11 -0
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +5 -0
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +13 -0
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/StatePrerequisite.d.ts +10 -0
- package/lib/types/prerequisites/single/StatePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/TextPrerequisite.d.ts +55 -0
- package/lib/types/prerequisites/single/TextPrerequisite.js +10 -0
- package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +39 -0
- package/lib/types/prerequisites/single/TraditionPrerequisite.js +18 -0
- package/lib/types/rule/CoreRule.d.ts +312 -0
- package/lib/types/rule/CoreRule.js +17 -0
- package/lib/types/rule/FocusRule.d.ts +53 -0
- package/lib/types/rule/FocusRule.js +12 -0
- package/lib/types/rule/FocusRule_Subject.d.ts +29 -0
- package/lib/types/rule/FocusRule_Subject.js +12 -0
- package/lib/types/rule/OptionalRule.d.ts +41 -0
- package/lib/types/rule/OptionalRule.js +12 -0
- package/lib/types/source/Publication.d.ts +75 -0
- package/lib/types/source/Publication.js +22 -0
- package/lib/types/source/_Erratum.d.ts +26 -0
- package/lib/types/source/_Erratum.js +4 -0
- package/lib/types/source/_PublicationRef.d.ts +151 -0
- package/lib/types/source/_PublicationRef.js +4 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +52 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +12 -0
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +34 -0
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +12 -0
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +34 -0
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +12 -0
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +34 -0
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +12 -0
- package/lib/types/specialAbility/AncestorGlyph.d.ts +38 -0
- package/lib/types/specialAbility/AncestorGlyph.js +12 -0
- package/lib/types/specialAbility/BlessedTradition.d.ts +147 -0
- package/lib/types/specialAbility/BlessedTradition.js +12 -0
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +34 -0
- package/lib/types/specialAbility/BrawlingSpecialAbility.js +12 -0
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +40 -0
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +12 -0
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +45 -0
- package/lib/types/specialAbility/CombatSpecialAbility.js +12 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +42 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.js +12 -0
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +38 -0
- package/lib/types/specialAbility/CommandSpecialAbility.js +12 -0
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +32 -0
- package/lib/types/specialAbility/FamiliarSpecialAbility.js +12 -0
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +32 -0
- package/lib/types/specialAbility/FatePointSexSpecialAbility.js +12 -0
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +39 -0
- package/lib/types/specialAbility/FatePointSpecialAbility.js +12 -0
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +44 -0
- package/lib/types/specialAbility/GeneralSpecialAbility.js +12 -0
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +37 -0
- package/lib/types/specialAbility/KarmaSpecialAbility.js +12 -0
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +36 -0
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +12 -0
- package/lib/types/specialAbility/LycantropicGift.d.ts +32 -0
- package/lib/types/specialAbility/LycantropicGift.js +12 -0
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +36 -0
- package/lib/types/specialAbility/MagicStyleSpecialAbility.js +12 -0
- package/lib/types/specialAbility/MagicalSign.d.ts +39 -0
- package/lib/types/specialAbility/MagicalSign.js +12 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +43 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.js +12 -0
- package/lib/types/specialAbility/MagicalTradition.d.ts +114 -0
- package/lib/types/specialAbility/MagicalTradition.js +12 -0
- package/lib/types/specialAbility/PactGift.d.ts +103 -0
- package/lib/types/specialAbility/PactGift.js +22 -0
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +46 -0
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +12 -0
- package/lib/types/specialAbility/Sermon.d.ts +32 -0
- package/lib/types/specialAbility/Sermon.js +12 -0
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +34 -0
- package/lib/types/specialAbility/SexSpecialAbility.js +12 -0
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +37 -0
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +12 -0
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +34 -0
- package/lib/types/specialAbility/SkillStyleSpecialAbility.js +12 -0
- package/lib/types/specialAbility/VampiricGift.d.ts +37 -0
- package/lib/types/specialAbility/VampiricGift.js +12 -0
- package/lib/types/specialAbility/Vision.d.ts +32 -0
- package/lib/types/specialAbility/Vision.js +12 -0
- package/lib/types/specialAbility/_Tradition.d.ts +12 -0
- package/lib/types/specialAbility/_Tradition.js +1 -0
- package/lib/types/specialAbility/sub/Language.d.ts +117 -0
- package/lib/types/specialAbility/sub/Language.js +12 -0
- package/lib/types/specialAbility/sub/Script.d.ts +60 -0
- package/lib/types/specialAbility/sub/Script.js +12 -0
- package/lib/types/specialAbility/sub/TradeSecret.d.ts +48 -0
- package/lib/types/specialAbility/sub/TradeSecret.js +12 -0
- package/lib/types/specialAbility/sub/_LanguageScript.d.ts +11 -0
- package/lib/types/specialAbility/sub/_LanguageScript.js +1 -0
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/AttireEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/BowlEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +61 -0
- package/lib/types/traditionArtifacts/CauldronEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/ChronicleEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +71 -0
- package/lib/types/traditionArtifacts/DaggerRitual.js +12 -0
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/InstrumentEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +47 -0
- package/lib/types/traditionArtifacts/Krallenkettenzauber.js +12 -0
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/OrbEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/RingEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +47 -0
- package/lib/types/traditionArtifacts/SickleRitual.js +12 -0
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +52 -0
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +57 -0
- package/lib/types/traditionArtifacts/StaffEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/ToyEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +47 -0
- package/lib/types/traditionArtifacts/Trinkhornzauber.js +12 -0
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +42 -0
- package/lib/types/traditionArtifacts/WandEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +47 -0
- package/lib/types/traditionArtifacts/WeaponEnchantment.js +12 -0
- package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +52 -0
- package/lib/types/traditionArtifacts/sub/AnimalShape.js +12 -0
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +28 -0
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +12 -0
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +40 -0
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +12 -0
- package/lib/types/traditionArtifacts/sub/Brew.d.ts +28 -0
- package/lib/types/traditionArtifacts/sub/Brew.js +12 -0
- package/lib/validation/builders/integrity.d.ts +57 -0
- package/lib/validation/builders/integrity.js +44 -0
- package/lib/validation/builders/naming.d.ts +13 -0
- package/lib/validation/builders/naming.js +14 -0
- package/lib/validation/builders/schema.d.ts +31 -0
- package/lib/validation/builders/schema.js +32 -0
- package/lib/validation/filename.d.ts +9 -0
- package/lib/validation/filename.js +10 -0
- package/lib/validation/raw.d.ts +9 -0
- package/lib/validation/raw.js +55 -0
- package/lib/validation/schema.d.ts +6 -0
- package/lib/validation/schema.js +32 -0
- package/package.json +4 -4
- package/build/config.js +0 -21
- package/lib/build/config.d.ts +0 -8
- package/lib/build/config.js +0 -16
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function is used to make sure that the `switch` is exhaustive. Place it
|
|
3
|
+
* in the `default` case of the `switch`.
|
|
4
|
+
* @param x The value that is used in the `switch`.
|
|
5
|
+
*/
|
|
6
|
+
export function assertExhaustive(x) {
|
|
7
|
+
throw new Error("The switch is not exhaustive.");
|
|
8
|
+
}
|
package/lib/main.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { TypeMap } from "./config/types.js";
|
|
2
|
+
import "./helpers/array.js";
|
|
3
|
+
import { Result } from "./helpers/result.js";
|
|
4
|
+
import { TypeId } from "./typeConfig.js";
|
|
5
|
+
import { IntegrityError } from "./validation/builders/integrity.js";
|
|
6
|
+
import { FileNameError } from "./validation/builders/naming.js";
|
|
7
|
+
import { SchemaError } from "./validation/builders/schema.js";
|
|
8
|
+
/**
|
|
9
|
+
* Options for validating data files.
|
|
10
|
+
*/
|
|
11
|
+
export type ValidationOptions = {
|
|
12
|
+
/**
|
|
13
|
+
* Whether to check the integrity of the data files. This includes checking
|
|
14
|
+
* for referencial integrity (i.e. whether all referenced entities exist).
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
checkIntegrity?: boolean;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* A type validation may fail because of the data not matching the schema, the
|
|
21
|
+
* file name not matching a pattern, or integrity issues.
|
|
22
|
+
*/
|
|
23
|
+
export type TypeValidationError = IntegrityError | FileNameError | SchemaError;
|
|
24
|
+
/**
|
|
25
|
+
* A map of all valid entries, grouped by entity type.
|
|
26
|
+
*/
|
|
27
|
+
export type ValidResults = {
|
|
28
|
+
[K in keyof TypeMap]: [id: TypeId<keyof TypeMap>, data: TypeMap[keyof TypeMap]][];
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* A dictionary of entity types and their data’s associated locations.
|
|
32
|
+
*/
|
|
33
|
+
export type EntityDirectoryPaths = {
|
|
34
|
+
[K in keyof TypeMap]: string;
|
|
35
|
+
};
|
|
36
|
+
type StrictResults = Result<ValidResults, Record<string, TypeValidationError[]>>;
|
|
37
|
+
/**
|
|
38
|
+
* If the database has no validation issues, returns the whole data set as a map
|
|
39
|
+
* of entity types to their data. If there are any errors, only the errors will
|
|
40
|
+
* be returned instead.
|
|
41
|
+
* @param entityDirPaths THe paths to the directories containing the data to be
|
|
42
|
+
* validated.
|
|
43
|
+
* @param options Configuration options for the validation.
|
|
44
|
+
* @returns Either the whole data set or the errors.
|
|
45
|
+
*/
|
|
46
|
+
export declare const getAllValidDataOrErrors: (entityDirPaths: EntityDirectoryPaths, options?: ValidationOptions) => Promise<StrictResults>;
|
|
47
|
+
/**
|
|
48
|
+
* Returns all valid data as a map of entity types to their data.
|
|
49
|
+
* @param entityDirPaths THe paths to the directories containing the data to be
|
|
50
|
+
* validated.
|
|
51
|
+
* @param options Configuration options for the validation.
|
|
52
|
+
* @returns The valid data.
|
|
53
|
+
*/
|
|
54
|
+
export declare const getAllValidData: (entityDirPaths: EntityDirectoryPaths, options?: ValidationOptions) => Promise<ValidResults>;
|
|
55
|
+
export {};
|
package/lib/main.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import "./helpers/array.js";
|
|
2
|
+
import { mapSecond } from "./helpers/pair.js";
|
|
3
|
+
import { Result, error, isError, isOk, ok } from "./helpers/result.js";
|
|
4
|
+
import { getRawValidationResults } from "./validation/raw.js";
|
|
5
|
+
const rawResultMapToResult = (rawResultMap) => rawResultMap.reduce((result, [typeName, typeResults]) => typeResults.reduce((outerResult, [filePath, fileResult]) => {
|
|
6
|
+
if (isOk(outerResult) && isOk(fileResult)) {
|
|
7
|
+
return ok({
|
|
8
|
+
...outerResult.value,
|
|
9
|
+
[typeName]: [...(outerResult.value[typeName] ?? []), fileResult.value]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
else if (isOk(outerResult) && isError(fileResult)) {
|
|
13
|
+
return error({
|
|
14
|
+
[filePath]: fileResult.error
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else if (isError(outerResult) && isError(fileResult)) {
|
|
18
|
+
return error({
|
|
19
|
+
...outerResult.error,
|
|
20
|
+
[filePath]: fileResult.error
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return outerResult;
|
|
25
|
+
}
|
|
26
|
+
}, result), ok({}));
|
|
27
|
+
const filterResultMapByValidData = (rawResultMap) => rawResultMap
|
|
28
|
+
.map(mapSecond((typeResults) => typeResults
|
|
29
|
+
.filter((typeResult) => Result.isOk(typeResult[1]))
|
|
30
|
+
.map(fileResult => fileResult[1].value)))
|
|
31
|
+
.objectFromEntries();
|
|
32
|
+
/**
|
|
33
|
+
* If the database has no validation issues, returns the whole data set as a map
|
|
34
|
+
* of entity types to their data. If there are any errors, only the errors will
|
|
35
|
+
* be returned instead.
|
|
36
|
+
* @param entityDirPaths THe paths to the directories containing the data to be
|
|
37
|
+
* validated.
|
|
38
|
+
* @param options Configuration options for the validation.
|
|
39
|
+
* @returns Either the whole data set or the errors.
|
|
40
|
+
*/
|
|
41
|
+
export const getAllValidDataOrErrors = async (entityDirPaths, options = {}) => {
|
|
42
|
+
const rawResultMap = await getRawValidationResults(entityDirPaths, options);
|
|
43
|
+
return rawResultMapToResult(rawResultMap);
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Returns all valid data as a map of entity types to their data.
|
|
47
|
+
* @param entityDirPaths THe paths to the directories containing the data to be
|
|
48
|
+
* validated.
|
|
49
|
+
* @param options Configuration options for the validation.
|
|
50
|
+
* @returns The valid data.
|
|
51
|
+
*/
|
|
52
|
+
export const getAllValidData = async (entityDirPaths, options = {}) => {
|
|
53
|
+
const rawResultMap = await getRawValidationResults(entityDirPaths, options);
|
|
54
|
+
return filterResultMapByValidData(rawResultMap);
|
|
55
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TypeMap, configMap } from "./config/types.js";
|
|
2
|
+
import { IntegrityValidator } from "./validation/builders/integrity.js";
|
|
3
|
+
import { SchemaValidator } from "./validation/builders/schema.js";
|
|
4
|
+
export type TypeId<K extends keyof TypeMap> = ReturnType<(typeof configMap)[K]["id"]>;
|
|
5
|
+
export type TypeConfig<T, ID extends string | number = number> = {
|
|
6
|
+
name: string;
|
|
7
|
+
id: (data: T, filepath: string) => ID;
|
|
8
|
+
integrityValidator: IntegrityValidator<T>;
|
|
9
|
+
schemaValidator: SchemaValidator<T>;
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Advantage
|
|
3
|
+
*/
|
|
4
|
+
import { TypeConfig } from "../typeConfig.js";
|
|
5
|
+
import * as Activatable from "./_Activatable.js";
|
|
6
|
+
import { LocaleMap } from "./_LocaleMap.js";
|
|
7
|
+
import { AdvantageDisadvantagePrerequisites } from "./_Prerequisite.js";
|
|
8
|
+
import { Errata } from "./source/_Erratum.js";
|
|
9
|
+
import { PublicationRefs } from "./source/_PublicationRef.js";
|
|
10
|
+
/**
|
|
11
|
+
* @title Advantage
|
|
12
|
+
*/
|
|
13
|
+
export type Advantage = {
|
|
14
|
+
id: Activatable.Id;
|
|
15
|
+
levels?: Activatable.Levels;
|
|
16
|
+
select_options?: Activatable.SelectOptions;
|
|
17
|
+
skill_applications?: Activatable.SkillApplications;
|
|
18
|
+
skill_uses?: Activatable.SkillUses;
|
|
19
|
+
maximum?: Activatable.Maximum;
|
|
20
|
+
prerequisites?: AdvantageDisadvantagePrerequisites;
|
|
21
|
+
ap_value: Activatable.AdventurePointsValue;
|
|
22
|
+
/**
|
|
23
|
+
* Does this advantage count towards the maximum of AP to be spent on
|
|
24
|
+
* advantages?
|
|
25
|
+
* @default true
|
|
26
|
+
*/
|
|
27
|
+
has_maximum_spent_influence: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Does this advantage exclusively applies to arcane spellworks and not
|
|
30
|
+
* to magical actions and magical applications?
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
is_exclusive_to_arcane_spellworks: boolean;
|
|
34
|
+
src: PublicationRefs;
|
|
35
|
+
/**
|
|
36
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
37
|
+
*/
|
|
38
|
+
translations: LocaleMap<AdvantageTranslation>;
|
|
39
|
+
};
|
|
40
|
+
export type AdvantageTranslation = {
|
|
41
|
+
name: Activatable.Name;
|
|
42
|
+
name_in_library?: Activatable.NameInLibrary;
|
|
43
|
+
/**
|
|
44
|
+
* A string that is used as a label for an input field.
|
|
45
|
+
*/
|
|
46
|
+
input?: Activatable.Input;
|
|
47
|
+
rules: Activatable.Rules;
|
|
48
|
+
/**
|
|
49
|
+
* The range.
|
|
50
|
+
* @markdown
|
|
51
|
+
* @minLength 1
|
|
52
|
+
*/
|
|
53
|
+
range?: string;
|
|
54
|
+
ap_value?: Activatable.AdventurePointsValueReplacement;
|
|
55
|
+
/**
|
|
56
|
+
* A string that gets appended to the default AP Value text with a preceding
|
|
57
|
+
* space. This always happens if present, even if the generated AP Value text
|
|
58
|
+
* is replaced.
|
|
59
|
+
*/
|
|
60
|
+
ap_value_append?: Activatable.AdventurePointsValueAppend;
|
|
61
|
+
errata?: Errata;
|
|
62
|
+
};
|
|
63
|
+
export declare const config: TypeConfig<Advantage>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Advantage
|
|
3
|
+
*/
|
|
4
|
+
import { todo } from "../validation/builders/integrity.js";
|
|
5
|
+
import { createSchemaValidator } from "../validation/builders/schema.js";
|
|
6
|
+
import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
|
|
7
|
+
export const config = {
|
|
8
|
+
name: "Advantage",
|
|
9
|
+
id: getFIlenamePrefixAsNumericId,
|
|
10
|
+
integrityValidator: todo("Advantage"),
|
|
11
|
+
schemaValidator: createSchemaValidator(import.meta.url),
|
|
12
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main AnimalDisease
|
|
3
|
+
*/
|
|
4
|
+
import { TypeConfig } from "../typeConfig.js";
|
|
5
|
+
import { Cause, DiseaseTranslation, Resistance } from "./_DiseasePoison.js";
|
|
6
|
+
import { LocaleMap } from "./_LocaleMap.js";
|
|
7
|
+
import { AnimalTypeReference } from "./_SimpleReferences.js";
|
|
8
|
+
import { PublicationRefs } from "./source/_PublicationRef.js";
|
|
9
|
+
/**
|
|
10
|
+
* @title Animal Disease
|
|
11
|
+
*/
|
|
12
|
+
export type AnimalDisease = {
|
|
13
|
+
/**
|
|
14
|
+
* The animal disease's identifier. An unique, increasing integer.
|
|
15
|
+
* @integer
|
|
16
|
+
* @minimum 1
|
|
17
|
+
*/
|
|
18
|
+
id: number;
|
|
19
|
+
/**
|
|
20
|
+
* The animal disease's level.
|
|
21
|
+
* @integer
|
|
22
|
+
* @minimum 1
|
|
23
|
+
*/
|
|
24
|
+
level: number;
|
|
25
|
+
/**
|
|
26
|
+
* Depending on the disease, apply Spirit or Toughness as a penalty to the
|
|
27
|
+
* disease roll. It may also happen that the lower of both is applied as a
|
|
28
|
+
* penalty.
|
|
29
|
+
*/
|
|
30
|
+
resistance: Resistance;
|
|
31
|
+
/**
|
|
32
|
+
* What causes the disease? The GM rolls 1D20 to see if a character gets
|
|
33
|
+
* infected. If the infection check succeeds, the GM makes a disease check to
|
|
34
|
+
* determine the severity of the infection.
|
|
35
|
+
* @minItems 1
|
|
36
|
+
*/
|
|
37
|
+
cause: Cause[];
|
|
38
|
+
/**
|
|
39
|
+
* The animal types this disease applies to.
|
|
40
|
+
*
|
|
41
|
+
* If no animal types are given, the animal disease applies to all animal
|
|
42
|
+
* types.
|
|
43
|
+
*/
|
|
44
|
+
animal_types: AnimalTypeReference[];
|
|
45
|
+
/**
|
|
46
|
+
* If and at which chance the disease can be communicated to intelligent
|
|
47
|
+
* creatures.
|
|
48
|
+
*
|
|
49
|
+
* If no causes are given, the disease is not communicable to intelligent
|
|
50
|
+
* creatures.
|
|
51
|
+
*/
|
|
52
|
+
communicability_to_intelligent_creatures: Cause[];
|
|
53
|
+
src: PublicationRefs;
|
|
54
|
+
/**
|
|
55
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
56
|
+
*/
|
|
57
|
+
translations: LocaleMap<DiseaseTranslation>;
|
|
58
|
+
};
|
|
59
|
+
export declare const config: TypeConfig<AnimalDisease>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main AnimalDisease
|
|
3
|
+
*/
|
|
4
|
+
import { todo } from "../validation/builders/integrity.js";
|
|
5
|
+
import { createSchemaValidator } from "../validation/builders/schema.js";
|
|
6
|
+
import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
|
|
7
|
+
export const config = {
|
|
8
|
+
name: "AnimalDisease",
|
|
9
|
+
id: getFIlenamePrefixAsNumericId,
|
|
10
|
+
integrityValidator: todo("AnimalDisease"),
|
|
11
|
+
schemaValidator: createSchemaValidator(import.meta.url),
|
|
12
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main AnimalType
|
|
3
|
+
*/
|
|
4
|
+
import { TypeConfig } from "../typeConfig.js";
|
|
5
|
+
import { LocaleMap } from "./_LocaleMap.js";
|
|
6
|
+
import { NonEmptyString } from "./_NonEmptyString.js";
|
|
7
|
+
/**
|
|
8
|
+
* @title Animal Type
|
|
9
|
+
*/
|
|
10
|
+
export type AnimalType = {
|
|
11
|
+
/**
|
|
12
|
+
* The animal type's identifier. An unique, increasing integer.
|
|
13
|
+
* @integer
|
|
14
|
+
* @minimum 1
|
|
15
|
+
*/
|
|
16
|
+
id: number;
|
|
17
|
+
/**
|
|
18
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
19
|
+
*/
|
|
20
|
+
translations: LocaleMap<AnimalTypeTranslation>;
|
|
21
|
+
};
|
|
22
|
+
export type AnimalTypeTranslation = {
|
|
23
|
+
/**
|
|
24
|
+
* The animal type name.
|
|
25
|
+
*/
|
|
26
|
+
name: NonEmptyString;
|
|
27
|
+
};
|
|
28
|
+
export declare const config: TypeConfig<AnimalType>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main AnimalType
|
|
3
|
+
*/
|
|
4
|
+
import { todo } from "../validation/builders/integrity.js";
|
|
5
|
+
import { createSchemaValidator } from "../validation/builders/schema.js";
|
|
6
|
+
import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
|
|
7
|
+
export const config = {
|
|
8
|
+
name: "AnimalType",
|
|
9
|
+
id: getFIlenamePrefixAsNumericId,
|
|
10
|
+
integrityValidator: todo("AnimalType"),
|
|
11
|
+
schemaValidator: createSchemaValidator(import.meta.url),
|
|
12
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main ArcaneBardTradition
|
|
3
|
+
*/
|
|
4
|
+
import { TypeConfig } from "../typeConfig.js";
|
|
5
|
+
import { ArcaneTradition } from "./_ArcaneTradition.js";
|
|
6
|
+
/**
|
|
7
|
+
* @title Arcane Bard Tradition
|
|
8
|
+
*/
|
|
9
|
+
export type ArcaneBardTradition = ArcaneTradition;
|
|
10
|
+
export declare const config: TypeConfig<ArcaneBardTradition>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main ArcaneBardTradition
|
|
3
|
+
*/
|
|
4
|
+
import { todo } from "../validation/builders/integrity.js";
|
|
5
|
+
import { createSchemaValidator } from "../validation/builders/schema.js";
|
|
6
|
+
import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
|
|
7
|
+
export const config = {
|
|
8
|
+
name: "ArcaneBardTradition",
|
|
9
|
+
id: getFIlenamePrefixAsNumericId,
|
|
10
|
+
integrityValidator: todo("ArcaneBardTradition"),
|
|
11
|
+
schemaValidator: createSchemaValidator(import.meta.url),
|
|
12
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main ArcaneDancerTradition
|
|
3
|
+
*/
|
|
4
|
+
import { TypeConfig } from "../typeConfig.js";
|
|
5
|
+
import { ArcaneTradition } from "./_ArcaneTradition.js";
|
|
6
|
+
/**
|
|
7
|
+
* @title Arcane Dancer Tradition
|
|
8
|
+
*/
|
|
9
|
+
export type ArcaneDancerTradition = ArcaneTradition;
|
|
10
|
+
export declare const config: TypeConfig<ArcaneDancerTradition>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main ArcaneDancerTradition
|
|
3
|
+
*/
|
|
4
|
+
import { todo } from "../validation/builders/integrity.js";
|
|
5
|
+
import { createSchemaValidator } from "../validation/builders/schema.js";
|
|
6
|
+
import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
|
|
7
|
+
export const config = {
|
|
8
|
+
name: "ArcaneDancerTradition",
|
|
9
|
+
id: getFIlenamePrefixAsNumericId,
|
|
10
|
+
integrityValidator: todo("ArcaneDancerTradition"),
|
|
11
|
+
schemaValidator: createSchemaValidator(import.meta.url),
|
|
12
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Aspect
|
|
3
|
+
*/
|
|
4
|
+
import { TypeConfig } from "../typeConfig.js";
|
|
5
|
+
import { LocaleMap } from "./_LocaleMap.js";
|
|
6
|
+
import { NonEmptyString } from "./_NonEmptyString.js";
|
|
7
|
+
/**
|
|
8
|
+
* @title Aspect
|
|
9
|
+
*/
|
|
10
|
+
export type Aspect = {
|
|
11
|
+
/**
|
|
12
|
+
* The aspect's identifier. An unique, increasing integer.
|
|
13
|
+
* @integer
|
|
14
|
+
* @minimum 1
|
|
15
|
+
*/
|
|
16
|
+
id: number;
|
|
17
|
+
/**
|
|
18
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
19
|
+
*/
|
|
20
|
+
translations: LocaleMap<AspectTranslation>;
|
|
21
|
+
};
|
|
22
|
+
export type AspectTranslation = {
|
|
23
|
+
/**
|
|
24
|
+
* The aspect name.
|
|
25
|
+
*/
|
|
26
|
+
name: NonEmptyString;
|
|
27
|
+
/**
|
|
28
|
+
* The aspect's name appended to the simple name (not `name_in_library`)
|
|
29
|
+
* of the special ability *Master of (Aspect)*.
|
|
30
|
+
*/
|
|
31
|
+
master_of_aspect_suffix?: NonEmptyString;
|
|
32
|
+
};
|
|
33
|
+
export declare const config: TypeConfig<Aspect>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Aspect
|
|
3
|
+
*/
|
|
4
|
+
import { todo } from "../validation/builders/integrity.js";
|
|
5
|
+
import { createSchemaValidator } from "../validation/builders/schema.js";
|
|
6
|
+
import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
|
|
7
|
+
export const config = {
|
|
8
|
+
name: "Aspect",
|
|
9
|
+
id: getFIlenamePrefixAsNumericId,
|
|
10
|
+
integrityValidator: todo("Aspect"),
|
|
11
|
+
schemaValidator: createSchemaValidator(import.meta.url),
|
|
12
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Attribute
|
|
3
|
+
*/
|
|
4
|
+
import { TypeConfig } from "../typeConfig.js";
|
|
5
|
+
import { LocaleMap } from "./_LocaleMap.js";
|
|
6
|
+
import { NonEmptyString } from "./_NonEmptyString.js";
|
|
7
|
+
/**
|
|
8
|
+
* @title Attribute
|
|
9
|
+
*/
|
|
10
|
+
export type Attribute = {
|
|
11
|
+
/**
|
|
12
|
+
* The attribute's identifier. An unique, increasing integer.
|
|
13
|
+
* @integer
|
|
14
|
+
* @minimum 1
|
|
15
|
+
*/
|
|
16
|
+
id: number;
|
|
17
|
+
/**
|
|
18
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
19
|
+
*/
|
|
20
|
+
translations: LocaleMap<AttributeTranslation>;
|
|
21
|
+
};
|
|
22
|
+
export type AttributeTranslation = {
|
|
23
|
+
/**
|
|
24
|
+
* The attribute's name.
|
|
25
|
+
*/
|
|
26
|
+
name: NonEmptyString;
|
|
27
|
+
/**
|
|
28
|
+
* The abbreviation of the attribute's name.
|
|
29
|
+
*/
|
|
30
|
+
abbreviation: NonEmptyString;
|
|
31
|
+
/**
|
|
32
|
+
* The description of the attribute.
|
|
33
|
+
*/
|
|
34
|
+
description: NonEmptyString;
|
|
35
|
+
};
|
|
36
|
+
export declare const config: TypeConfig<Attribute>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Attribute
|
|
3
|
+
*/
|
|
4
|
+
import { getReferencialIntegrityErrorsForTranslatable, reduceIntegrityValidationResults, validateEntityIntegrity } from "../validation/builders/integrity.js";
|
|
5
|
+
import { createSchemaValidator } from "../validation/builders/schema.js";
|
|
6
|
+
import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
|
|
7
|
+
export const config = {
|
|
8
|
+
name: "Attribute",
|
|
9
|
+
id: getFIlenamePrefixAsNumericId,
|
|
10
|
+
integrityValidator: (validators, data, filepath) => reduceIntegrityValidationResults(validateEntityIntegrity(validators.identity.attributes.exists, getFIlenamePrefixAsNumericId(data, filepath), data.id, [{ k: "id" }]), getReferencialIntegrityErrorsForTranslatable(validators, data)),
|
|
11
|
+
schemaValidator: createSchemaValidator(import.meta.url),
|
|
12
|
+
};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Blessing
|
|
3
|
+
*/
|
|
4
|
+
import { TypeConfig } from "../typeConfig.js";
|
|
5
|
+
import { DurationUnit } from "./_ActivatableSkillDuration.js";
|
|
6
|
+
import { FixedRange } from "./_ActivatableSkillRange.js";
|
|
7
|
+
import { TargetCategory } from "./_ActivatableSkillTargetCategory.js";
|
|
8
|
+
import { LocaleMap } from "./_LocaleMap.js";
|
|
9
|
+
import { Errata } from "./source/_Erratum.js";
|
|
10
|
+
import { PublicationRefs } from "./source/_PublicationRef.js";
|
|
11
|
+
/**
|
|
12
|
+
* @title Blessing
|
|
13
|
+
*/
|
|
14
|
+
export type Blessing = {
|
|
15
|
+
/**
|
|
16
|
+
* The blessing's identifier. An unique, increasing integer.
|
|
17
|
+
* @integer
|
|
18
|
+
* @minimum 1
|
|
19
|
+
*/
|
|
20
|
+
id: number;
|
|
21
|
+
/**
|
|
22
|
+
* Measurable parameters of a blessing.
|
|
23
|
+
*/
|
|
24
|
+
parameters: BlessingPerformanceParameters;
|
|
25
|
+
/**
|
|
26
|
+
* The target category – the kind of creature or object – the skill affects.
|
|
27
|
+
*/
|
|
28
|
+
target: TargetCategory;
|
|
29
|
+
src: PublicationRefs;
|
|
30
|
+
/**
|
|
31
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
32
|
+
*/
|
|
33
|
+
translations: LocaleMap<BlessingTranslation>;
|
|
34
|
+
};
|
|
35
|
+
export type BlessingTranslation = {
|
|
36
|
+
/**
|
|
37
|
+
* The name of the blessing.
|
|
38
|
+
* @minLength 1
|
|
39
|
+
*/
|
|
40
|
+
name: string;
|
|
41
|
+
/**
|
|
42
|
+
* The effect description.
|
|
43
|
+
* @markdown
|
|
44
|
+
* @minLength 1
|
|
45
|
+
*/
|
|
46
|
+
effect: string;
|
|
47
|
+
/**
|
|
48
|
+
* @deprecated
|
|
49
|
+
*/
|
|
50
|
+
range: string;
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated
|
|
53
|
+
*/
|
|
54
|
+
duration: string;
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated
|
|
57
|
+
*/
|
|
58
|
+
target: string;
|
|
59
|
+
errata?: Errata;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Measurable parameters of a blessing.
|
|
63
|
+
*/
|
|
64
|
+
export type BlessingPerformanceParameters = {
|
|
65
|
+
range: BlessingRange;
|
|
66
|
+
duration: BlessingDuration;
|
|
67
|
+
};
|
|
68
|
+
export type BlessingRange = {
|
|
69
|
+
tag: "Self";
|
|
70
|
+
self: {};
|
|
71
|
+
} | {
|
|
72
|
+
tag: "Touch";
|
|
73
|
+
touch: {};
|
|
74
|
+
} | {
|
|
75
|
+
tag: "Fixed";
|
|
76
|
+
fixed: FixedRange;
|
|
77
|
+
};
|
|
78
|
+
export type BlessingDuration = {
|
|
79
|
+
tag: "Immediate";
|
|
80
|
+
immediate: {};
|
|
81
|
+
} | {
|
|
82
|
+
tag: "Fixed";
|
|
83
|
+
fixed: FixedBlessingDuration;
|
|
84
|
+
} | {
|
|
85
|
+
tag: "Indefinite";
|
|
86
|
+
indefinite: IndefiniteBlessingDuration;
|
|
87
|
+
};
|
|
88
|
+
export type FixedBlessingDuration = {
|
|
89
|
+
/**
|
|
90
|
+
* The (unitless) duration.
|
|
91
|
+
* @integer
|
|
92
|
+
* @minimum 1
|
|
93
|
+
*/
|
|
94
|
+
value: number;
|
|
95
|
+
/**
|
|
96
|
+
* The duration unit.
|
|
97
|
+
*/
|
|
98
|
+
unit: DurationUnit;
|
|
99
|
+
};
|
|
100
|
+
export type IndefiniteBlessingDuration = {
|
|
101
|
+
/**
|
|
102
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
103
|
+
*/
|
|
104
|
+
translations: LocaleMap<IndefiniteDurationTranslation>;
|
|
105
|
+
};
|
|
106
|
+
export type IndefiniteDurationTranslation = {
|
|
107
|
+
/**
|
|
108
|
+
* A description of the duration.
|
|
109
|
+
* @minLength 1
|
|
110
|
+
*/
|
|
111
|
+
description: string;
|
|
112
|
+
};
|
|
113
|
+
export declare const config: TypeConfig<Blessing>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Blessing
|
|
3
|
+
*/
|
|
4
|
+
import { todo } from "../validation/builders/integrity.js";
|
|
5
|
+
import { createSchemaValidator } from "../validation/builders/schema.js";
|
|
6
|
+
import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
|
|
7
|
+
export const config = {
|
|
8
|
+
name: "Blessing",
|
|
9
|
+
id: getFIlenamePrefixAsNumericId,
|
|
10
|
+
integrityValidator: todo("Blessing"),
|
|
11
|
+
schemaValidator: createSchemaValidator(import.meta.url),
|
|
12
|
+
};
|