optolith-database-schema 0.12.1 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/lib/cache/newApplicationsAndUses.d.ts +17 -0
- package/lib/cache/newApplicationsAndUses.js +67 -0
- package/lib/cacheConfig.d.ts +4 -0
- package/lib/cacheConfig.js +1 -0
- package/lib/config/cache.d.ts +7 -0
- package/lib/config/cache.js +4 -0
- package/lib/main.d.ts +27 -0
- package/lib/main.js +33 -0
- package/lib/types/Advantage.js +2 -2
- package/lib/types/AnimalDisease.js +2 -2
- package/lib/types/AnimalType.js +2 -2
- package/lib/types/ArcaneBardTradition.js +2 -2
- package/lib/types/ArcaneDancerTradition.js +2 -2
- package/lib/types/Aspect.js +2 -2
- package/lib/types/Attribute.js +3 -3
- package/lib/types/Blessing.js +2 -2
- package/lib/types/Cantrip.js +2 -2
- package/lib/types/Ceremony.js +2 -2
- package/lib/types/CombatTechnique_Close.js +2 -2
- package/lib/types/CombatTechnique_Ranged.js +2 -2
- package/lib/types/Condition.js +2 -2
- package/lib/types/Continent.js +2 -2
- package/lib/types/Culture.d.ts +4 -17
- package/lib/types/Culture.js +2 -40
- package/lib/types/DerivedCharacteristic.js +2 -2
- package/lib/types/Disadvantage.js +2 -2
- package/lib/types/Disease.js +2 -2
- package/lib/types/Element.js +2 -2
- package/lib/types/ExperienceLevel.js +2 -2
- package/lib/types/EyeColor.js +2 -2
- package/lib/types/FamiliarsTrick.js +2 -2
- package/lib/types/HairColor.js +2 -2
- package/lib/types/Kirchenpraegung.js +2 -2
- package/lib/types/Lessons_Curriculum.js +2 -2
- package/lib/types/Lessons_Guideline.js +2 -2
- package/lib/types/LiturgicalChant.js +2 -2
- package/lib/types/MetaCondition.js +2 -2
- package/lib/types/PactCategory.js +2 -2
- package/lib/types/Patron.d.ts +2 -12
- package/lib/types/Patron.js +2 -22
- package/lib/types/PatronCategory.js +2 -2
- package/lib/types/PersonalityTrait.js +2 -2
- package/lib/types/Profession.d.ts +1 -5
- package/lib/types/Profession.js +2 -8
- package/lib/types/Property.js +2 -2
- package/lib/types/Race.d.ts +68 -134
- package/lib/types/Race.js +2 -13
- package/lib/types/Region.js +2 -2
- package/lib/types/Ritual.js +2 -2
- package/lib/types/Service.d.ts +1 -4
- package/lib/types/Service.js +2 -7
- package/lib/types/SexPractice.js +2 -2
- package/lib/types/Skill.d.ts +2 -10
- package/lib/types/Skill.js +2 -21
- package/lib/types/SkillGroup.js +2 -2
- package/lib/types/SkillModificationLevel.d.ts +1 -4
- package/lib/types/SkillModificationLevel.js +2 -7
- package/lib/types/SocialStatus.js +2 -2
- package/lib/types/Spell.js +2 -2
- package/lib/types/State.js +2 -2
- package/lib/types/Talisman.d.ts +1 -7
- package/lib/types/Talisman.js +3 -11
- package/lib/types/TargetCategory.js +3 -3
- package/lib/types/UI.d.ts +171 -128
- package/lib/types/_Activatable.d.ts +5 -19
- package/lib/types/_Activatable.js +1 -40
- package/lib/types/_ActivatableSelectOptionCategory.d.ts +1 -4
- package/lib/types/_ActivatableSelectOptionCategory.js +1 -8
- package/lib/types/_ActivatableSkillCastingTime.d.ts +1 -4
- package/lib/types/_ActivatableSkillCastingTime.js +1 -5
- package/lib/types/_ActivatableSkillCheckResultBased.d.ts +2 -8
- package/lib/types/_ActivatableSkillCheckResultBased.js +1 -16
- package/lib/types/_ActivatableSkillDuration.d.ts +1 -12
- package/lib/types/_ActivatableSkillDuration.js +1 -13
- package/lib/types/_ActivatableSkillRange.d.ts +1 -4
- package/lib/types/_ActivatableSkillRange.js +1 -5
- package/lib/types/_Dice.d.ts +1 -5
- package/lib/types/_Dice.js +1 -9
- package/lib/types/_DiseasePoison.d.ts +2 -6
- package/lib/types/_DiseasePoison.js +1 -11
- package/lib/types/_ImprovementCost.d.ts +1 -6
- package/lib/types/_ImprovementCost.js +1 -10
- package/lib/types/_Sex.d.ts +1 -4
- package/lib/types/_Sex.js +1 -8
- package/lib/types/_SkillCheck.d.ts +1 -8
- package/lib/types/_SkillCheck.js +1 -13
- package/lib/types/equipment/EquipmentPackage.js +2 -2
- package/lib/types/equipment/item/Alchemicum.js +2 -2
- package/lib/types/equipment/item/Ammunition.js +2 -2
- package/lib/types/equipment/item/Animal.js +2 -2
- package/lib/types/equipment/item/AnimalCare.js +2 -2
- package/lib/types/equipment/item/Armor.js +2 -2
- package/lib/types/equipment/item/BandageOrRemedy.js +2 -2
- package/lib/types/equipment/item/Book.js +2 -2
- package/lib/types/equipment/item/CeremonialItem.js +2 -2
- package/lib/types/equipment/item/Clothes.js +2 -2
- package/lib/types/equipment/item/Container.js +2 -2
- package/lib/types/equipment/item/Elixir.js +2 -2
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +2 -2
- package/lib/types/equipment/item/GemOrPreciousStone.js +2 -2
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +1 -3
- package/lib/types/equipment/item/IlluminationLightSource.js +2 -6
- package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +2 -2
- package/lib/types/equipment/item/Jewelry.js +2 -2
- package/lib/types/equipment/item/Liebesspielzeug.js +2 -2
- package/lib/types/equipment/item/LuxuryGood.js +2 -2
- package/lib/types/equipment/item/MagicalArtifact.js +2 -2
- package/lib/types/equipment/item/MusicalInstrument.js +2 -2
- package/lib/types/equipment/item/OrienteeringAid.js +2 -2
- package/lib/types/equipment/item/Poison.d.ts +3 -15
- package/lib/types/equipment/item/Poison.js +2 -20
- package/lib/types/equipment/item/RopeOrChain.js +2 -2
- package/lib/types/equipment/item/Stationary.js +2 -2
- package/lib/types/equipment/item/ThievesTool.js +2 -2
- package/lib/types/equipment/item/ToolOfTheTrade.js +2 -2
- package/lib/types/equipment/item/TravelGearOrTool.js +2 -2
- package/lib/types/equipment/item/Vehicle.js +2 -2
- package/lib/types/equipment/item/Weapon.js +2 -2
- package/lib/types/equipment/item/WeaponAccessory.js +2 -2
- package/lib/types/equipment/item/_Herbary.d.ts +2 -14
- package/lib/types/equipment/item/_Herbary.js +1 -19
- package/lib/types/equipment/item/sub/ArmorType.js +2 -2
- package/lib/types/equipment/item/sub/Reach.js +2 -2
- package/lib/types/magicalActions/AnimistPower.js +2 -2
- package/lib/types/magicalActions/AnimistPower_Tribe.js +2 -2
- package/lib/types/magicalActions/Curse.js +2 -2
- package/lib/types/magicalActions/DominationRitual.js +2 -2
- package/lib/types/magicalActions/ElvenMagicalSong.js +2 -2
- package/lib/types/magicalActions/GeodeRitual.js +2 -2
- package/lib/types/magicalActions/JesterTrick.js +2 -2
- package/lib/types/magicalActions/MagicalDance.js +2 -2
- package/lib/types/magicalActions/MagicalMelody.js +2 -2
- package/lib/types/magicalActions/MagicalRune.js +2 -2
- package/lib/types/magicalActions/ZibiljaRitual.js +2 -2
- package/lib/types/magicalActions/_MusicTradition.d.ts +2 -8
- package/lib/types/magicalActions/_MusicTradition.js +1 -10
- package/lib/types/magicalActions/_SkillReference.d.ts +1 -4
- package/lib/types/magicalActions/_SkillReference.js +1 -5
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +1 -4
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +1 -5
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +1 -5
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +1 -6
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +1 -4
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +1 -5
- package/lib/types/prerequisites/single/TextPrerequisite.d.ts +2 -8
- package/lib/types/prerequisites/single/TextPrerequisite.js +1 -10
- package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +2 -8
- package/lib/types/prerequisites/single/TraditionPrerequisite.js +1 -18
- package/lib/types/rule/CoreRule.d.ts +1 -4
- package/lib/types/rule/CoreRule.js +2 -7
- package/lib/types/rule/FocusRule.js +2 -2
- package/lib/types/rule/FocusRule_Subject.js +2 -2
- package/lib/types/rule/OptionalRule.js +2 -2
- package/lib/types/source/Publication.d.ts +1 -6
- package/lib/types/source/Publication.js +2 -12
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -2
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -2
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -2
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -2
- package/lib/types/specialAbility/AncestorGlyph.js +2 -2
- package/lib/types/specialAbility/BlessedTradition.js +2 -2
- package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -2
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -2
- package/lib/types/specialAbility/CombatSpecialAbility.js +2 -2
- package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -2
- package/lib/types/specialAbility/CommandSpecialAbility.js +2 -2
- package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -2
- package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -2
- package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -2
- package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -2
- package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -2
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -2
- package/lib/types/specialAbility/LycantropicGift.js +2 -2
- package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -2
- package/lib/types/specialAbility/MagicalSign.js +2 -2
- package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -2
- package/lib/types/specialAbility/MagicalTradition.js +2 -2
- package/lib/types/specialAbility/PactGift.d.ts +2 -8
- package/lib/types/specialAbility/PactGift.js +2 -12
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -2
- package/lib/types/specialAbility/Sermon.js +2 -2
- package/lib/types/specialAbility/SexSpecialAbility.js +2 -2
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -2
- package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -2
- package/lib/types/specialAbility/VampiricGift.js +2 -2
- package/lib/types/specialAbility/Vision.js +2 -2
- package/lib/types/specialAbility/sub/Language.js +2 -2
- package/lib/types/specialAbility/sub/Script.js +2 -2
- package/lib/types/specialAbility/sub/TradeSecret.js +2 -2
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/DaggerRitual.js +2 -2
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -2
- package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/RingEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/SickleRitual.js +2 -2
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -2
- package/lib/types/traditionArtifacts/WandEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -2
- package/lib/types/traditionArtifacts/sub/AnimalShape.js +2 -2
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +2 -2
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +2 -2
- package/lib/types/traditionArtifacts/sub/Brew.js +2 -2
- package/lib/validation/filename.d.ts +1 -1
- package/lib/validation/filename.js +1 -1
- package/package.json +2 -2
- package/schema/Culture.schema.json +31 -13
- package/schema/Patron.schema.json +26 -10
- package/schema/Profession.schema.json +10 -4
- package/schema/Race.schema.json +79 -208
- package/schema/Service.schema.json +7 -3
- package/schema/Skill.schema.json +20 -8
- package/schema/SkillModificationLevel.schema.json +7 -3
- package/schema/Talisman.schema.json +16 -6
- package/schema/UI.schema.json +502 -304
- package/schema/_Activatable.schema.json +32 -14
- package/schema/_ActivatableSelectOptionCategory.schema.json +7 -3
- package/schema/_ActivatableSkillCastingTime.schema.json +7 -3
- package/schema/_ActivatableSkillCheckResultBased.schema.json +14 -6
- package/schema/_ActivatableSkillDuration.schema.json +31 -11
- package/schema/_ActivatableSkillRange.schema.json +7 -3
- package/schema/_Dice.schema.json +10 -4
- package/schema/_DiseasePoison.schema.json +10 -4
- package/schema/_ImprovementCost.schema.json +13 -5
- package/schema/_Sex.schema.json +7 -3
- package/schema/_SkillCheck.schema.json +19 -7
- package/schema/equipment/item/IlluminationLightSource.schema.json +4 -2
- package/schema/equipment/item/Poison.schema.json +30 -12
- package/schema/equipment/item/_Herbary.schema.json +32 -12
- package/schema/magicalActions/_MusicTradition.schema.json +14 -6
- package/schema/magicalActions/_SkillReference.schema.json +7 -3
- package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +7 -3
- package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +10 -4
- package/schema/prerequisites/single/SexualCharacteristicPrerequisite.schema.json +7 -3
- package/schema/prerequisites/single/TextPrerequisite.schema.json +14 -6
- package/schema/prerequisites/single/TraditionPrerequisite.schema.json +14 -6
- package/schema/rule/CoreRule.schema.json +7 -3
- package/schema/source/Publication.schema.json +13 -5
- package/schema/specialAbility/PactGift.schema.json +14 -6
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "Krallenkettenzauber",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("Krallenkettenzauber"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "OrbEnchantment",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("OrbEnchantment"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "RingEnchantment",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("RingEnchantment"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "SickleRitual",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("SickleRitual"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "SpellSwordEnchantment",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("SpellSwordEnchantment"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "StaffEnchantment",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("StaffEnchantment"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "ToyEnchantment",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("ToyEnchantment"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "Trinkhornzauber",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("Trinkhornzauber"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "WandEnchantment",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("WandEnchantment"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "WeaponEnchantment",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("WeaponEnchantment"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "AnimalShape",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("AnimalShape"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "AnimalShapePath",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("AnimalShapePath"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "AnimalShapeSize",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("AnimalShapeSize"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { todo } from "../../../validation/builders/integrity.js";
|
|
5
5
|
import { validateEntityFileName } from "../../../validation/builders/naming.js";
|
|
6
6
|
import { createSchemaValidator } from "../../../validation/builders/schema.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
|
|
8
8
|
export const config = {
|
|
9
9
|
name: "Brew",
|
|
10
|
-
id:
|
|
10
|
+
id: getFilenamePrefixAsNumericId,
|
|
11
11
|
integrityValidator: todo("Brew"),
|
|
12
12
|
schemaValidator: createSchemaValidator(import.meta.url),
|
|
13
13
|
fileNameValidator: validateEntityFileName,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Returns the numeric prefix of a filename, that is, the part before the first
|
|
3
3
|
* underscore.
|
|
4
4
|
*/
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const getFilenamePrefixAsNumericId: (_data: {}, filepath: string) => number;
|
|
6
6
|
/**
|
|
7
7
|
* Returns the filename without the extension.
|
|
8
8
|
*/
|
|
@@ -3,7 +3,7 @@ import { basename, extname } from "node:path";
|
|
|
3
3
|
* Returns the numeric prefix of a filename, that is, the part before the first
|
|
4
4
|
* underscore.
|
|
5
5
|
*/
|
|
6
|
-
export const
|
|
6
|
+
export const getFilenamePrefixAsNumericId = (_data, filepath) => Number.parseInt(/^(\d+?)_/.exec(basename(filepath))?.[1] ?? "", 10);
|
|
7
7
|
/**
|
|
8
8
|
* Returns the filename without the extension.
|
|
9
9
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "optolith-database-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tde",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/node": "^20.2.3",
|
|
36
|
-
"optolith-tsjsonschemamd": "^0.9.
|
|
36
|
+
"optolith-tsjsonschemamd": "^0.9.4",
|
|
37
37
|
"standard-version": "^9.5.0",
|
|
38
38
|
"typescript": "^5.0.4"
|
|
39
39
|
},
|
|
@@ -188,23 +188,35 @@
|
|
|
188
188
|
},
|
|
189
189
|
"Weight": {
|
|
190
190
|
"description": "The \"weight\" difference compared to other professions or profession variants.\nSome professions or profession variants are simply more common (Mostly), but\nsometimes only specific elements are used (Only).",
|
|
191
|
-
"
|
|
192
|
-
|
|
193
|
-
|
|
191
|
+
"oneOf": [
|
|
192
|
+
{
|
|
193
|
+
"const": "Mostly"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"const": "Only"
|
|
197
|
+
}
|
|
194
198
|
]
|
|
195
199
|
},
|
|
196
200
|
"CommonProfessionConstraintsOperation": {
|
|
197
201
|
"description": "This defines how the list of constraints should be offset against the\nlist of all mundane professions: Either only the professions are kept\nthat intersect with the constraints (include) or only the professions\nare kept that are different from the constraints (exclude).",
|
|
198
|
-
"
|
|
199
|
-
|
|
200
|
-
|
|
202
|
+
"oneOf": [
|
|
203
|
+
{
|
|
204
|
+
"const": "Intersection"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"const": "Difference"
|
|
208
|
+
}
|
|
201
209
|
]
|
|
202
210
|
},
|
|
203
211
|
"Rarity": {
|
|
204
212
|
"description": "Some professions may be found in a culture, but are not that common.",
|
|
205
|
-
"
|
|
206
|
-
|
|
207
|
-
|
|
213
|
+
"oneOf": [
|
|
214
|
+
{
|
|
215
|
+
"const": "Rare"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"const": "VeryRare"
|
|
219
|
+
}
|
|
208
220
|
]
|
|
209
221
|
},
|
|
210
222
|
"ProfessionConstraint": {
|
|
@@ -249,10 +261,16 @@
|
|
|
249
261
|
},
|
|
250
262
|
"MundaneProfessionSubgroupConstraint": {
|
|
251
263
|
"description": "Some professions may be found in a culture, but are not that common.",
|
|
252
|
-
"
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
264
|
+
"oneOf": [
|
|
265
|
+
{
|
|
266
|
+
"const": "Profane"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"const": "Fighter"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"const": "Religious"
|
|
273
|
+
}
|
|
256
274
|
]
|
|
257
275
|
},
|
|
258
276
|
"MagicalTraditionConstraint": {
|
|
@@ -151,9 +151,13 @@
|
|
|
151
151
|
},
|
|
152
152
|
"PatronCultureOperation": {
|
|
153
153
|
"description": "The set operation to combine the set of all patron cultures with the\nspecified set of patron cultures: If they should intersect, the patron is\nonly part of the given cultures. If they should differ, the patron is only\npart of the cultures that are not given.",
|
|
154
|
-
"
|
|
155
|
-
|
|
156
|
-
|
|
154
|
+
"oneOf": [
|
|
155
|
+
{
|
|
156
|
+
"const": "Intersection"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"const": "Difference"
|
|
160
|
+
}
|
|
157
161
|
]
|
|
158
162
|
},
|
|
159
163
|
"AdvantageAnimalPower": {
|
|
@@ -261,13 +265,25 @@
|
|
|
261
265
|
"additionalProperties": false
|
|
262
266
|
},
|
|
263
267
|
"CombatAnimalPowerType": {
|
|
264
|
-
"
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
268
|
+
"oneOf": [
|
|
269
|
+
{
|
|
270
|
+
"const": "Attack"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"const": "Parry"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"const": "RangedCombat"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"const": "Dodge"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"const": "DamagePoints"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"const": "Protection"
|
|
286
|
+
}
|
|
271
287
|
]
|
|
272
288
|
},
|
|
273
289
|
"AnimalPowerLevel2": {
|
|
@@ -88,10 +88,16 @@
|
|
|
88
88
|
]
|
|
89
89
|
},
|
|
90
90
|
"MundaneProfessionGroup": {
|
|
91
|
-
"
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
"oneOf": [
|
|
92
|
+
{
|
|
93
|
+
"const": "Profane"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"const": "Fighter"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"const": "Religious"
|
|
100
|
+
}
|
|
95
101
|
]
|
|
96
102
|
},
|
|
97
103
|
"MagicalProfessionGroup": {
|