optolith-database-schema 0.11.9 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/lib/main.d.ts +15 -0
  3. package/lib/main.js +11 -0
  4. package/lib/typeConfig.d.ts +2 -0
  5. package/lib/types/Advantage.js +2 -0
  6. package/lib/types/AnimalDisease.js +2 -0
  7. package/lib/types/AnimalType.js +2 -0
  8. package/lib/types/ArcaneBardTradition.js +2 -0
  9. package/lib/types/ArcaneDancerTradition.js +2 -0
  10. package/lib/types/Aspect.js +2 -0
  11. package/lib/types/Attribute.js +2 -0
  12. package/lib/types/Blessing.js +2 -0
  13. package/lib/types/Cantrip.js +2 -0
  14. package/lib/types/Ceremony.js +2 -0
  15. package/lib/types/CombatTechnique_Close.js +2 -0
  16. package/lib/types/CombatTechnique_Ranged.js +2 -0
  17. package/lib/types/Condition.js +2 -0
  18. package/lib/types/Continent.js +2 -0
  19. package/lib/types/Culture.js +2 -0
  20. package/lib/types/DerivedCharacteristic.js +2 -0
  21. package/lib/types/Disadvantage.js +2 -0
  22. package/lib/types/Disease.js +2 -0
  23. package/lib/types/Element.js +2 -0
  24. package/lib/types/ExperienceLevel.js +2 -0
  25. package/lib/types/EyeColor.js +2 -0
  26. package/lib/types/FamiliarsTrick.js +2 -0
  27. package/lib/types/HairColor.js +2 -0
  28. package/lib/types/Kirchenpraegung.js +2 -0
  29. package/lib/types/Lessons_Curriculum.js +2 -0
  30. package/lib/types/Lessons_Guideline.js +2 -0
  31. package/lib/types/LiturgicalChant.js +2 -0
  32. package/lib/types/Locale.js +3 -1
  33. package/lib/types/MetaCondition.js +2 -0
  34. package/lib/types/PactCategory.js +2 -0
  35. package/lib/types/Patron.js +2 -0
  36. package/lib/types/PatronCategory.js +2 -0
  37. package/lib/types/PersonalityTrait.js +2 -0
  38. package/lib/types/Profession.js +2 -0
  39. package/lib/types/Property.js +2 -0
  40. package/lib/types/Race.js +2 -0
  41. package/lib/types/Region.js +2 -0
  42. package/lib/types/Ritual.js +2 -0
  43. package/lib/types/Service.js +2 -0
  44. package/lib/types/SexPractice.js +2 -0
  45. package/lib/types/Skill.js +2 -0
  46. package/lib/types/SkillGroup.js +2 -0
  47. package/lib/types/SkillModificationLevel.js +2 -0
  48. package/lib/types/SocialStatus.js +2 -0
  49. package/lib/types/Spell.js +2 -0
  50. package/lib/types/State.js +2 -0
  51. package/lib/types/Talisman.js +2 -0
  52. package/lib/types/TargetCategory.js +2 -0
  53. package/lib/types/UI.d.ts +34 -32
  54. package/lib/types/UI.js +2 -0
  55. package/lib/types/equipment/EquipmentPackage.js +2 -0
  56. package/lib/types/equipment/item/Alchemicum.js +2 -0
  57. package/lib/types/equipment/item/Ammunition.js +2 -0
  58. package/lib/types/equipment/item/Animal.js +2 -0
  59. package/lib/types/equipment/item/AnimalCare.js +2 -0
  60. package/lib/types/equipment/item/Armor.js +2 -0
  61. package/lib/types/equipment/item/BandageOrRemedy.js +2 -0
  62. package/lib/types/equipment/item/Book.js +2 -0
  63. package/lib/types/equipment/item/CeremonialItem.js +2 -0
  64. package/lib/types/equipment/item/Clothes.js +2 -0
  65. package/lib/types/equipment/item/Container.js +2 -0
  66. package/lib/types/equipment/item/Elixir.js +2 -0
  67. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +2 -0
  68. package/lib/types/equipment/item/GemOrPreciousStone.js +2 -0
  69. package/lib/types/equipment/item/IlluminationLightSource.js +2 -0
  70. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +2 -0
  71. package/lib/types/equipment/item/Jewelry.js +2 -0
  72. package/lib/types/equipment/item/Liebesspielzeug.js +2 -0
  73. package/lib/types/equipment/item/LuxuryGood.js +2 -0
  74. package/lib/types/equipment/item/MagicalArtifact.js +2 -0
  75. package/lib/types/equipment/item/MusicalInstrument.js +2 -0
  76. package/lib/types/equipment/item/OrienteeringAid.js +2 -0
  77. package/lib/types/equipment/item/Poison.js +2 -0
  78. package/lib/types/equipment/item/RopeOrChain.js +2 -0
  79. package/lib/types/equipment/item/Stationary.js +2 -0
  80. package/lib/types/equipment/item/ThievesTool.js +2 -0
  81. package/lib/types/equipment/item/ToolOfTheTrade.js +2 -0
  82. package/lib/types/equipment/item/TravelGearOrTool.js +2 -0
  83. package/lib/types/equipment/item/Vehicle.js +2 -0
  84. package/lib/types/equipment/item/Weapon.js +2 -0
  85. package/lib/types/equipment/item/WeaponAccessory.js +2 -0
  86. package/lib/types/equipment/item/sub/ArmorType.js +2 -0
  87. package/lib/types/equipment/item/sub/Reach.js +2 -0
  88. package/lib/types/magicalActions/AnimistPower.js +2 -0
  89. package/lib/types/magicalActions/AnimistPower_Tribe.js +2 -0
  90. package/lib/types/magicalActions/Curse.js +2 -0
  91. package/lib/types/magicalActions/DominationRitual.js +2 -0
  92. package/lib/types/magicalActions/ElvenMagicalSong.js +2 -0
  93. package/lib/types/magicalActions/GeodeRitual.js +2 -0
  94. package/lib/types/magicalActions/JesterTrick.js +2 -0
  95. package/lib/types/magicalActions/MagicalDance.js +2 -0
  96. package/lib/types/magicalActions/MagicalMelody.js +2 -0
  97. package/lib/types/magicalActions/MagicalRune.js +2 -0
  98. package/lib/types/magicalActions/ZibiljaRitual.js +2 -0
  99. package/lib/types/rule/CoreRule.js +2 -0
  100. package/lib/types/rule/FocusRule.js +2 -0
  101. package/lib/types/rule/FocusRule_Subject.js +2 -0
  102. package/lib/types/rule/OptionalRule.js +2 -0
  103. package/lib/types/source/Publication.js +2 -0
  104. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -0
  105. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -0
  106. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -0
  107. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -0
  108. package/lib/types/specialAbility/AncestorGlyph.js +2 -0
  109. package/lib/types/specialAbility/BlessedTradition.js +2 -0
  110. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -0
  111. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -0
  112. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -0
  113. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -0
  114. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -0
  115. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -0
  116. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -0
  117. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -0
  118. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -0
  119. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -0
  120. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -0
  121. package/lib/types/specialAbility/LycantropicGift.js +2 -0
  122. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -0
  123. package/lib/types/specialAbility/MagicalSign.js +2 -0
  124. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -0
  125. package/lib/types/specialAbility/MagicalTradition.js +2 -0
  126. package/lib/types/specialAbility/PactGift.js +2 -0
  127. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -0
  128. package/lib/types/specialAbility/Sermon.js +2 -0
  129. package/lib/types/specialAbility/SexSpecialAbility.js +2 -0
  130. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -0
  131. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -0
  132. package/lib/types/specialAbility/VampiricGift.js +2 -0
  133. package/lib/types/specialAbility/Vision.js +2 -0
  134. package/lib/types/specialAbility/sub/Language.js +2 -0
  135. package/lib/types/specialAbility/sub/Script.js +2 -0
  136. package/lib/types/specialAbility/sub/TradeSecret.js +2 -0
  137. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -0
  138. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -0
  139. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -0
  140. package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -0
  141. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -0
  142. package/lib/types/traditionArtifacts/DaggerRitual.js +2 -0
  143. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -0
  144. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -0
  145. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -0
  146. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -0
  147. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -0
  148. package/lib/types/traditionArtifacts/SickleRitual.js +2 -0
  149. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -0
  150. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -0
  151. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -0
  152. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -0
  153. package/lib/types/traditionArtifacts/WandEnchantment.js +2 -0
  154. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -0
  155. package/lib/types/traditionArtifacts/sub/AnimalShape.js +2 -0
  156. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +2 -0
  157. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +2 -0
  158. package/lib/types/traditionArtifacts/sub/Brew.js +2 -0
  159. package/lib/validation/builders/naming.d.ts +3 -1
  160. package/lib/validation/builders/naming.js +9 -6
  161. package/lib/validation/raw.d.ts +1 -1
  162. package/lib/validation/raw.js +3 -4
  163. package/package.json +1 -1
  164. package/schema/UI.schema.json +72 -64
package/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.12.1](https://github.com/elyukai/optolith-database-schema/compare/v0.12.0...v0.12.1) (2023-06-11)
6
+
7
+
8
+ ### Features
9
+
10
+ * provide function to get raw validation results ([c4bf451](https://github.com/elyukai/optolith-database-schema/commit/c4bf451195f7b754edf15ef43cd5363baafdd1d4))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * use different file name validation patterns per type ([8e3915f](https://github.com/elyukai/optolith-database-schema/commit/8e3915f716823b971068018acba196b900fc390c))
16
+
17
+ ## [0.12.0](https://github.com/elyukai/optolith-database-schema/compare/v0.11.9...v0.12.0) (2023-06-03)
18
+
19
+
20
+ ### ⚠ BREAKING CHANGES
21
+
22
+ * rename header tab keys and add button names
23
+
24
+ ### Features
25
+
26
+ * rename header tab keys and add button names ([79d8381](https://github.com/elyukai/optolith-database-schema/commit/79d8381c1b7dc4571edf8920a6e8db47dc560431))
27
+
5
28
  ### [0.11.9](https://github.com/elyukai/optolith-database-schema/compare/v0.11.8...v0.11.9) (2023-05-31)
6
29
 
7
30
 
package/lib/main.d.ts CHANGED
@@ -4,6 +4,7 @@ import { Result } from "./helpers/result.js";
4
4
  import { IntegrityError } from "./validation/builders/integrity.js";
5
5
  import { FileNameError } from "./validation/builders/naming.js";
6
6
  import { SchemaError } from "./validation/builders/schema.js";
7
+ import { TypeValidationResult } from "./validation/raw.js";
7
8
  /**
8
9
  * Options for validating data files.
9
10
  */
@@ -26,6 +27,12 @@ export type TypeValidationError = IntegrityError | FileNameError | SchemaError;
26
27
  export type ValidResults = {
27
28
  [K in keyof TypeMap]: [id: TypeId<K>, data: TypeMap[K]][];
28
29
  };
30
+ /**
31
+ * A map of all entries, grouped by entity type.
32
+ */
33
+ export type RawResults = {
34
+ [K in keyof TypeMap]: TypeValidationResult<K>[];
35
+ };
29
36
  /**
30
37
  * A dictionary of entity types and their data’s associated locations.
31
38
  */
@@ -51,4 +58,12 @@ export declare const getAllValidDataOrErrors: (entityDirPaths: EntityDirectoryPa
51
58
  * @returns The valid data.
52
59
  */
53
60
  export declare const getAllValidData: (entityDirPaths: EntityDirectoryPaths, options?: ValidationOptions) => Promise<ValidResults>;
61
+ /**
62
+ * Returns all data as a map of entity types to their validation results.
63
+ * @param entityDirPaths THe paths to the directories containing the data to be
64
+ * validated.
65
+ * @param options Configuration options for the validation.
66
+ * @returns The validation results.
67
+ */
68
+ export declare const getRawResults: (entityDirPaths: EntityDirectoryPaths, options?: ValidationOptions) => Promise<RawResults>;
54
69
  export {};
package/lib/main.js CHANGED
@@ -53,3 +53,14 @@ export const getAllValidData = async (entityDirPaths, options = {}) => {
53
53
  const rawResultMap = await getRawValidationResults(entityDirPaths, options);
54
54
  return filterResultMapByValidData(rawResultMap);
55
55
  };
56
+ /**
57
+ * Returns all data as a map of entity types to their validation results.
58
+ * @param entityDirPaths THe paths to the directories containing the data to be
59
+ * validated.
60
+ * @param options Configuration options for the validation.
61
+ * @returns The validation results.
62
+ */
63
+ export const getRawResults = async (entityDirPaths, options = {}) => {
64
+ const rawResultMap = await getRawValidationResults(entityDirPaths, options);
65
+ return Object.fromEntries(rawResultMap);
66
+ };
@@ -1,8 +1,10 @@
1
1
  import { IntegrityValidator } from "./validation/builders/integrity.js";
2
+ import { FileNameValidator } from "./validation/builders/naming.js";
2
3
  import { SchemaValidator } from "./validation/builders/schema.js";
3
4
  export type TypeConfig<T, ID extends string | number = number> = {
4
5
  name: string;
5
6
  id: (data: T, filepath: string) => ID;
6
7
  integrityValidator: IntegrityValidator<T>;
7
8
  schemaValidator: SchemaValidator<T>;
9
+ fileNameValidator: FileNameValidator;
8
10
  };
@@ -2,6 +2,7 @@
2
2
  * @main Advantage
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Advantage"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main AnimalDisease
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("AnimalDisease"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main AnimalType
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("AnimalType"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main ArcaneBardTradition
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("ArcaneBardTradition"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main ArcaneDancerTradition
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("ArcaneDancerTradition"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Aspect
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Aspect"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Attribute
3
3
  */
4
4
  import { getReferencialIntegrityErrorsForTranslatable, reduceIntegrityValidationResults, validateEntityIntegrity } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: (validators, data, filepath) => reduceIntegrityValidationResults(validateEntityIntegrity(validators.identity.attributes.exists, getFIlenamePrefixAsNumericId(data, filepath), data.id, [{ k: "id" }]), getReferencialIntegrityErrorsForTranslatable(validators, data)),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Blessing
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Blessing"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Cantrip
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Cantrip"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Ceremony
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Ceremony"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main CloseCombatTechnique
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("CloseCombatTechnique"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main RangedCombatTechnique
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("RangedCombatTechnique"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Condition
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Condition"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Continent
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Continent"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Culture
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  /**
@@ -47,4 +48,5 @@ export const config = {
47
48
  id: getFIlenamePrefixAsNumericId,
48
49
  integrityValidator: todo("Culture"),
49
50
  schemaValidator: createSchemaValidator(import.meta.url),
51
+ fileNameValidator: validateEntityFileName,
50
52
  };
@@ -2,6 +2,7 @@
2
2
  * @main DerivedCharacteristic
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("DerivedCharacteristic"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Disadvantage
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Disadvantage"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Disease
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Disease"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Element
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Element"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main ExperienceLevel
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("ExperienceLevel"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main EyeColor
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("EyeColor"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main FamiliarsTrick
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("FamiliarsTrick"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main HairColor
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("HairColor"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Kirchenpraegung
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Kirchenpraegung"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Curriculum
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Curriculum"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Guideline
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Guideline"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main LiturgicalChant
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("LiturgicalChant"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,11 +2,13 @@
2
2
  * @main Locale
3
3
  */
4
4
  import { Result } from "../helpers/result.js";
5
+ import { validateLanguageFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFilenameAsStringId } from "../validation/filename.js";
7
8
  export const config = {
8
9
  name: "Locale",
9
10
  id: getFilenameAsStringId,
10
11
  integrityValidator: () => Result.ok(undefined),
11
- schemaValidator: createSchemaValidator(import.meta.url, { ignoreFileNamePattern: true })
12
+ schemaValidator: createSchemaValidator(import.meta.url, { ignoreFileNamePattern: true }),
13
+ fileNameValidator: validateLanguageFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main MetaCondition
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("MetaCondition"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main PactCategory
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("PactCategory"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Patron
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  /**
@@ -29,4 +30,5 @@ export const config = {
29
30
  id: getFIlenamePrefixAsNumericId,
30
31
  integrityValidator: todo("Patron"),
31
32
  schemaValidator: createSchemaValidator(import.meta.url),
33
+ fileNameValidator: validateEntityFileName,
32
34
  };
@@ -2,6 +2,7 @@
2
2
  * @main PatronCategory
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("PatronCategory"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main PersonalityTrait
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("PersonalityTrait"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
@@ -2,6 +2,7 @@
2
2
  * @main Profession
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export var MundaneProfessionGroup;
@@ -15,4 +16,5 @@ export const config = {
15
16
  id: getFIlenamePrefixAsNumericId,
16
17
  integrityValidator: todo("Profession"),
17
18
  schemaValidator: createSchemaValidator(import.meta.url),
19
+ fileNameValidator: validateEntityFileName,
18
20
  };
@@ -2,6 +2,7 @@
2
2
  * @main Property
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Property"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };
package/lib/types/Race.js CHANGED
@@ -2,6 +2,7 @@
2
2
  * @main Race
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  /**
@@ -20,4 +21,5 @@ export const config = {
20
21
  id: getFIlenamePrefixAsNumericId,
21
22
  integrityValidator: todo("Race"),
22
23
  schemaValidator: createSchemaValidator(import.meta.url),
24
+ fileNameValidator: validateEntityFileName,
23
25
  };
@@ -2,6 +2,7 @@
2
2
  * @main Region
3
3
  */
4
4
  import { todo } from "../validation/builders/integrity.js";
5
+ import { validateEntityFileName } from "../validation/builders/naming.js";
5
6
  import { createSchemaValidator } from "../validation/builders/schema.js";
6
7
  import { getFIlenamePrefixAsNumericId } from "../validation/filename.js";
7
8
  export const config = {
@@ -9,4 +10,5 @@ export const config = {
9
10
  id: getFIlenamePrefixAsNumericId,
10
11
  integrityValidator: todo("Region"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };