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.
Files changed (248) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/lib/cache/newApplicationsAndUses.d.ts +17 -0
  3. package/lib/cache/newApplicationsAndUses.js +67 -0
  4. package/lib/cacheConfig.d.ts +4 -0
  5. package/lib/cacheConfig.js +1 -0
  6. package/lib/config/cache.d.ts +7 -0
  7. package/lib/config/cache.js +4 -0
  8. package/lib/main.d.ts +27 -0
  9. package/lib/main.js +33 -0
  10. package/lib/types/Advantage.js +2 -2
  11. package/lib/types/AnimalDisease.js +2 -2
  12. package/lib/types/AnimalType.js +2 -2
  13. package/lib/types/ArcaneBardTradition.js +2 -2
  14. package/lib/types/ArcaneDancerTradition.js +2 -2
  15. package/lib/types/Aspect.js +2 -2
  16. package/lib/types/Attribute.js +3 -3
  17. package/lib/types/Blessing.js +2 -2
  18. package/lib/types/Cantrip.js +2 -2
  19. package/lib/types/Ceremony.js +2 -2
  20. package/lib/types/CombatTechnique_Close.js +2 -2
  21. package/lib/types/CombatTechnique_Ranged.js +2 -2
  22. package/lib/types/Condition.js +2 -2
  23. package/lib/types/Continent.js +2 -2
  24. package/lib/types/Culture.d.ts +4 -17
  25. package/lib/types/Culture.js +2 -40
  26. package/lib/types/DerivedCharacteristic.js +2 -2
  27. package/lib/types/Disadvantage.js +2 -2
  28. package/lib/types/Disease.js +2 -2
  29. package/lib/types/Element.js +2 -2
  30. package/lib/types/ExperienceLevel.js +2 -2
  31. package/lib/types/EyeColor.js +2 -2
  32. package/lib/types/FamiliarsTrick.js +2 -2
  33. package/lib/types/HairColor.js +2 -2
  34. package/lib/types/Kirchenpraegung.js +2 -2
  35. package/lib/types/Lessons_Curriculum.js +2 -2
  36. package/lib/types/Lessons_Guideline.js +2 -2
  37. package/lib/types/LiturgicalChant.js +2 -2
  38. package/lib/types/MetaCondition.js +2 -2
  39. package/lib/types/PactCategory.js +2 -2
  40. package/lib/types/Patron.d.ts +2 -12
  41. package/lib/types/Patron.js +2 -22
  42. package/lib/types/PatronCategory.js +2 -2
  43. package/lib/types/PersonalityTrait.js +2 -2
  44. package/lib/types/Profession.d.ts +1 -5
  45. package/lib/types/Profession.js +2 -8
  46. package/lib/types/Property.js +2 -2
  47. package/lib/types/Race.d.ts +68 -134
  48. package/lib/types/Race.js +2 -13
  49. package/lib/types/Region.js +2 -2
  50. package/lib/types/Ritual.js +2 -2
  51. package/lib/types/Service.d.ts +1 -4
  52. package/lib/types/Service.js +2 -7
  53. package/lib/types/SexPractice.js +2 -2
  54. package/lib/types/Skill.d.ts +2 -10
  55. package/lib/types/Skill.js +2 -21
  56. package/lib/types/SkillGroup.js +2 -2
  57. package/lib/types/SkillModificationLevel.d.ts +1 -4
  58. package/lib/types/SkillModificationLevel.js +2 -7
  59. package/lib/types/SocialStatus.js +2 -2
  60. package/lib/types/Spell.js +2 -2
  61. package/lib/types/State.js +2 -2
  62. package/lib/types/Talisman.d.ts +1 -7
  63. package/lib/types/Talisman.js +3 -11
  64. package/lib/types/TargetCategory.js +3 -3
  65. package/lib/types/UI.d.ts +171 -128
  66. package/lib/types/_Activatable.d.ts +5 -19
  67. package/lib/types/_Activatable.js +1 -40
  68. package/lib/types/_ActivatableSelectOptionCategory.d.ts +1 -4
  69. package/lib/types/_ActivatableSelectOptionCategory.js +1 -8
  70. package/lib/types/_ActivatableSkillCastingTime.d.ts +1 -4
  71. package/lib/types/_ActivatableSkillCastingTime.js +1 -5
  72. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +2 -8
  73. package/lib/types/_ActivatableSkillCheckResultBased.js +1 -16
  74. package/lib/types/_ActivatableSkillDuration.d.ts +1 -12
  75. package/lib/types/_ActivatableSkillDuration.js +1 -13
  76. package/lib/types/_ActivatableSkillRange.d.ts +1 -4
  77. package/lib/types/_ActivatableSkillRange.js +1 -5
  78. package/lib/types/_Dice.d.ts +1 -5
  79. package/lib/types/_Dice.js +1 -9
  80. package/lib/types/_DiseasePoison.d.ts +2 -6
  81. package/lib/types/_DiseasePoison.js +1 -11
  82. package/lib/types/_ImprovementCost.d.ts +1 -6
  83. package/lib/types/_ImprovementCost.js +1 -10
  84. package/lib/types/_Sex.d.ts +1 -4
  85. package/lib/types/_Sex.js +1 -8
  86. package/lib/types/_SkillCheck.d.ts +1 -8
  87. package/lib/types/_SkillCheck.js +1 -13
  88. package/lib/types/equipment/EquipmentPackage.js +2 -2
  89. package/lib/types/equipment/item/Alchemicum.js +2 -2
  90. package/lib/types/equipment/item/Ammunition.js +2 -2
  91. package/lib/types/equipment/item/Animal.js +2 -2
  92. package/lib/types/equipment/item/AnimalCare.js +2 -2
  93. package/lib/types/equipment/item/Armor.js +2 -2
  94. package/lib/types/equipment/item/BandageOrRemedy.js +2 -2
  95. package/lib/types/equipment/item/Book.js +2 -2
  96. package/lib/types/equipment/item/CeremonialItem.js +2 -2
  97. package/lib/types/equipment/item/Clothes.js +2 -2
  98. package/lib/types/equipment/item/Container.js +2 -2
  99. package/lib/types/equipment/item/Elixir.js +2 -2
  100. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +2 -2
  101. package/lib/types/equipment/item/GemOrPreciousStone.js +2 -2
  102. package/lib/types/equipment/item/IlluminationLightSource.d.ts +1 -3
  103. package/lib/types/equipment/item/IlluminationLightSource.js +2 -6
  104. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +2 -2
  105. package/lib/types/equipment/item/Jewelry.js +2 -2
  106. package/lib/types/equipment/item/Liebesspielzeug.js +2 -2
  107. package/lib/types/equipment/item/LuxuryGood.js +2 -2
  108. package/lib/types/equipment/item/MagicalArtifact.js +2 -2
  109. package/lib/types/equipment/item/MusicalInstrument.js +2 -2
  110. package/lib/types/equipment/item/OrienteeringAid.js +2 -2
  111. package/lib/types/equipment/item/Poison.d.ts +3 -15
  112. package/lib/types/equipment/item/Poison.js +2 -20
  113. package/lib/types/equipment/item/RopeOrChain.js +2 -2
  114. package/lib/types/equipment/item/Stationary.js +2 -2
  115. package/lib/types/equipment/item/ThievesTool.js +2 -2
  116. package/lib/types/equipment/item/ToolOfTheTrade.js +2 -2
  117. package/lib/types/equipment/item/TravelGearOrTool.js +2 -2
  118. package/lib/types/equipment/item/Vehicle.js +2 -2
  119. package/lib/types/equipment/item/Weapon.js +2 -2
  120. package/lib/types/equipment/item/WeaponAccessory.js +2 -2
  121. package/lib/types/equipment/item/_Herbary.d.ts +2 -14
  122. package/lib/types/equipment/item/_Herbary.js +1 -19
  123. package/lib/types/equipment/item/sub/ArmorType.js +2 -2
  124. package/lib/types/equipment/item/sub/Reach.js +2 -2
  125. package/lib/types/magicalActions/AnimistPower.js +2 -2
  126. package/lib/types/magicalActions/AnimistPower_Tribe.js +2 -2
  127. package/lib/types/magicalActions/Curse.js +2 -2
  128. package/lib/types/magicalActions/DominationRitual.js +2 -2
  129. package/lib/types/magicalActions/ElvenMagicalSong.js +2 -2
  130. package/lib/types/magicalActions/GeodeRitual.js +2 -2
  131. package/lib/types/magicalActions/JesterTrick.js +2 -2
  132. package/lib/types/magicalActions/MagicalDance.js +2 -2
  133. package/lib/types/magicalActions/MagicalMelody.js +2 -2
  134. package/lib/types/magicalActions/MagicalRune.js +2 -2
  135. package/lib/types/magicalActions/ZibiljaRitual.js +2 -2
  136. package/lib/types/magicalActions/_MusicTradition.d.ts +2 -8
  137. package/lib/types/magicalActions/_MusicTradition.js +1 -10
  138. package/lib/types/magicalActions/_SkillReference.d.ts +1 -4
  139. package/lib/types/magicalActions/_SkillReference.js +1 -5
  140. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +1 -4
  141. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +1 -5
  142. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +1 -5
  143. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +1 -6
  144. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +1 -4
  145. package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +1 -5
  146. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +2 -8
  147. package/lib/types/prerequisites/single/TextPrerequisite.js +1 -10
  148. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +2 -8
  149. package/lib/types/prerequisites/single/TraditionPrerequisite.js +1 -18
  150. package/lib/types/rule/CoreRule.d.ts +1 -4
  151. package/lib/types/rule/CoreRule.js +2 -7
  152. package/lib/types/rule/FocusRule.js +2 -2
  153. package/lib/types/rule/FocusRule_Subject.js +2 -2
  154. package/lib/types/rule/OptionalRule.js +2 -2
  155. package/lib/types/source/Publication.d.ts +1 -6
  156. package/lib/types/source/Publication.js +2 -12
  157. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -2
  158. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -2
  159. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -2
  160. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -2
  161. package/lib/types/specialAbility/AncestorGlyph.js +2 -2
  162. package/lib/types/specialAbility/BlessedTradition.js +2 -2
  163. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -2
  164. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -2
  165. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -2
  166. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -2
  167. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -2
  168. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -2
  169. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -2
  170. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -2
  171. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -2
  172. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -2
  173. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -2
  174. package/lib/types/specialAbility/LycantropicGift.js +2 -2
  175. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -2
  176. package/lib/types/specialAbility/MagicalSign.js +2 -2
  177. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -2
  178. package/lib/types/specialAbility/MagicalTradition.js +2 -2
  179. package/lib/types/specialAbility/PactGift.d.ts +2 -8
  180. package/lib/types/specialAbility/PactGift.js +2 -12
  181. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -2
  182. package/lib/types/specialAbility/Sermon.js +2 -2
  183. package/lib/types/specialAbility/SexSpecialAbility.js +2 -2
  184. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -2
  185. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -2
  186. package/lib/types/specialAbility/VampiricGift.js +2 -2
  187. package/lib/types/specialAbility/Vision.js +2 -2
  188. package/lib/types/specialAbility/sub/Language.js +2 -2
  189. package/lib/types/specialAbility/sub/Script.js +2 -2
  190. package/lib/types/specialAbility/sub/TradeSecret.js +2 -2
  191. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -2
  192. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -2
  193. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -2
  194. package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -2
  195. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -2
  196. package/lib/types/traditionArtifacts/DaggerRitual.js +2 -2
  197. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -2
  198. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -2
  199. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -2
  200. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -2
  201. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -2
  202. package/lib/types/traditionArtifacts/SickleRitual.js +2 -2
  203. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -2
  204. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -2
  205. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -2
  206. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -2
  207. package/lib/types/traditionArtifacts/WandEnchantment.js +2 -2
  208. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -2
  209. package/lib/types/traditionArtifacts/sub/AnimalShape.js +2 -2
  210. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +2 -2
  211. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +2 -2
  212. package/lib/types/traditionArtifacts/sub/Brew.js +2 -2
  213. package/lib/validation/filename.d.ts +1 -1
  214. package/lib/validation/filename.js +1 -1
  215. package/package.json +2 -2
  216. package/schema/Culture.schema.json +31 -13
  217. package/schema/Patron.schema.json +26 -10
  218. package/schema/Profession.schema.json +10 -4
  219. package/schema/Race.schema.json +79 -208
  220. package/schema/Service.schema.json +7 -3
  221. package/schema/Skill.schema.json +20 -8
  222. package/schema/SkillModificationLevel.schema.json +7 -3
  223. package/schema/Talisman.schema.json +16 -6
  224. package/schema/UI.schema.json +502 -304
  225. package/schema/_Activatable.schema.json +32 -14
  226. package/schema/_ActivatableSelectOptionCategory.schema.json +7 -3
  227. package/schema/_ActivatableSkillCastingTime.schema.json +7 -3
  228. package/schema/_ActivatableSkillCheckResultBased.schema.json +14 -6
  229. package/schema/_ActivatableSkillDuration.schema.json +31 -11
  230. package/schema/_ActivatableSkillRange.schema.json +7 -3
  231. package/schema/_Dice.schema.json +10 -4
  232. package/schema/_DiseasePoison.schema.json +10 -4
  233. package/schema/_ImprovementCost.schema.json +13 -5
  234. package/schema/_Sex.schema.json +7 -3
  235. package/schema/_SkillCheck.schema.json +19 -7
  236. package/schema/equipment/item/IlluminationLightSource.schema.json +4 -2
  237. package/schema/equipment/item/Poison.schema.json +30 -12
  238. package/schema/equipment/item/_Herbary.schema.json +32 -12
  239. package/schema/magicalActions/_MusicTradition.schema.json +14 -6
  240. package/schema/magicalActions/_SkillReference.schema.json +7 -3
  241. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +7 -3
  242. package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +10 -4
  243. package/schema/prerequisites/single/SexualCharacteristicPrerequisite.schema.json +7 -3
  244. package/schema/prerequisites/single/TextPrerequisite.schema.json +14 -6
  245. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +14 -6
  246. package/schema/rule/CoreRule.schema.json +7 -3
  247. package/schema/source/Publication.schema.json +13 -5
  248. 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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "Krallenkettenzauber",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "OrbEnchantment",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "RingEnchantment",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "SickleRitual",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "SpellSwordEnchantment",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "StaffEnchantment",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "ToyEnchantment",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "Trinkhornzauber",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "WandEnchantment",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "WeaponEnchantment",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "AnimalShape",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "AnimalShapePath",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "AnimalShapeSize",
10
- id: getFIlenamePrefixAsNumericId,
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 { getFIlenamePrefixAsNumericId } from "../../../validation/filename.js";
7
+ import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
8
8
  export const config = {
9
9
  name: "Brew",
10
- id: getFIlenamePrefixAsNumericId,
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 getFIlenamePrefixAsNumericId: (_data: {}, filepath: string) => number;
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 getFIlenamePrefixAsNumericId = (_data, filepath) => Number.parseInt(/^(\d+?)_/.exec(basename(filepath))?.[1] ?? "", 10);
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.12.1",
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.2",
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
- "enum": [
192
- "Mostly",
193
- "Only"
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
- "enum": [
199
- "Intersection",
200
- "Difference"
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
- "enum": [
206
- "Rare",
207
- "VeryRare"
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
- "enum": [
253
- "Profane",
254
- "Fighter",
255
- "Religious"
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
- "enum": [
155
- "Intersection",
156
- "Difference"
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
- "enum": [
265
- "Attack",
266
- "Parry",
267
- "RangedCombat",
268
- "Dodge",
269
- "DamagePoints",
270
- "Protection"
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
- "enum": [
92
- "Profane",
93
- "Fighter",
94
- "Religious"
91
+ "oneOf": [
92
+ {
93
+ "const": "Profane"
94
+ },
95
+ {
96
+ "const": "Fighter"
97
+ },
98
+ {
99
+ "const": "Religious"
100
+ }
95
101
  ]
96
102
  },
97
103
  "MagicalProfessionGroup": {