optolith-database-schema 0.12.0 → 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 (162) hide show
  1. package/CHANGELOG.md +12 -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.js +2 -0
  54. package/lib/types/equipment/EquipmentPackage.js +2 -0
  55. package/lib/types/equipment/item/Alchemicum.js +2 -0
  56. package/lib/types/equipment/item/Ammunition.js +2 -0
  57. package/lib/types/equipment/item/Animal.js +2 -0
  58. package/lib/types/equipment/item/AnimalCare.js +2 -0
  59. package/lib/types/equipment/item/Armor.js +2 -0
  60. package/lib/types/equipment/item/BandageOrRemedy.js +2 -0
  61. package/lib/types/equipment/item/Book.js +2 -0
  62. package/lib/types/equipment/item/CeremonialItem.js +2 -0
  63. package/lib/types/equipment/item/Clothes.js +2 -0
  64. package/lib/types/equipment/item/Container.js +2 -0
  65. package/lib/types/equipment/item/Elixir.js +2 -0
  66. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +2 -0
  67. package/lib/types/equipment/item/GemOrPreciousStone.js +2 -0
  68. package/lib/types/equipment/item/IlluminationLightSource.js +2 -0
  69. package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +2 -0
  70. package/lib/types/equipment/item/Jewelry.js +2 -0
  71. package/lib/types/equipment/item/Liebesspielzeug.js +2 -0
  72. package/lib/types/equipment/item/LuxuryGood.js +2 -0
  73. package/lib/types/equipment/item/MagicalArtifact.js +2 -0
  74. package/lib/types/equipment/item/MusicalInstrument.js +2 -0
  75. package/lib/types/equipment/item/OrienteeringAid.js +2 -0
  76. package/lib/types/equipment/item/Poison.js +2 -0
  77. package/lib/types/equipment/item/RopeOrChain.js +2 -0
  78. package/lib/types/equipment/item/Stationary.js +2 -0
  79. package/lib/types/equipment/item/ThievesTool.js +2 -0
  80. package/lib/types/equipment/item/ToolOfTheTrade.js +2 -0
  81. package/lib/types/equipment/item/TravelGearOrTool.js +2 -0
  82. package/lib/types/equipment/item/Vehicle.js +2 -0
  83. package/lib/types/equipment/item/Weapon.js +2 -0
  84. package/lib/types/equipment/item/WeaponAccessory.js +2 -0
  85. package/lib/types/equipment/item/sub/ArmorType.js +2 -0
  86. package/lib/types/equipment/item/sub/Reach.js +2 -0
  87. package/lib/types/magicalActions/AnimistPower.js +2 -0
  88. package/lib/types/magicalActions/AnimistPower_Tribe.js +2 -0
  89. package/lib/types/magicalActions/Curse.js +2 -0
  90. package/lib/types/magicalActions/DominationRitual.js +2 -0
  91. package/lib/types/magicalActions/ElvenMagicalSong.js +2 -0
  92. package/lib/types/magicalActions/GeodeRitual.js +2 -0
  93. package/lib/types/magicalActions/JesterTrick.js +2 -0
  94. package/lib/types/magicalActions/MagicalDance.js +2 -0
  95. package/lib/types/magicalActions/MagicalMelody.js +2 -0
  96. package/lib/types/magicalActions/MagicalRune.js +2 -0
  97. package/lib/types/magicalActions/ZibiljaRitual.js +2 -0
  98. package/lib/types/rule/CoreRule.js +2 -0
  99. package/lib/types/rule/FocusRule.js +2 -0
  100. package/lib/types/rule/FocusRule_Subject.js +2 -0
  101. package/lib/types/rule/OptionalRule.js +2 -0
  102. package/lib/types/source/Publication.js +2 -0
  103. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -0
  104. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -0
  105. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -0
  106. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -0
  107. package/lib/types/specialAbility/AncestorGlyph.js +2 -0
  108. package/lib/types/specialAbility/BlessedTradition.js +2 -0
  109. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -0
  110. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -0
  111. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -0
  112. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -0
  113. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -0
  114. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -0
  115. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -0
  116. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -0
  117. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -0
  118. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -0
  119. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -0
  120. package/lib/types/specialAbility/LycantropicGift.js +2 -0
  121. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -0
  122. package/lib/types/specialAbility/MagicalSign.js +2 -0
  123. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -0
  124. package/lib/types/specialAbility/MagicalTradition.js +2 -0
  125. package/lib/types/specialAbility/PactGift.js +2 -0
  126. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -0
  127. package/lib/types/specialAbility/Sermon.js +2 -0
  128. package/lib/types/specialAbility/SexSpecialAbility.js +2 -0
  129. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -0
  130. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -0
  131. package/lib/types/specialAbility/VampiricGift.js +2 -0
  132. package/lib/types/specialAbility/Vision.js +2 -0
  133. package/lib/types/specialAbility/sub/Language.js +2 -0
  134. package/lib/types/specialAbility/sub/Script.js +2 -0
  135. package/lib/types/specialAbility/sub/TradeSecret.js +2 -0
  136. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -0
  137. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -0
  138. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -0
  139. package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -0
  140. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -0
  141. package/lib/types/traditionArtifacts/DaggerRitual.js +2 -0
  142. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -0
  143. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -0
  144. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -0
  145. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -0
  146. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -0
  147. package/lib/types/traditionArtifacts/SickleRitual.js +2 -0
  148. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -0
  149. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -0
  150. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -0
  151. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -0
  152. package/lib/types/traditionArtifacts/WandEnchantment.js +2 -0
  153. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -0
  154. package/lib/types/traditionArtifacts/sub/AnimalShape.js +2 -0
  155. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +2 -0
  156. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +2 -0
  157. package/lib/types/traditionArtifacts/sub/Brew.js +2 -0
  158. package/lib/validation/builders/naming.d.ts +3 -1
  159. package/lib/validation/builders/naming.js +9 -6
  160. package/lib/validation/raw.d.ts +1 -1
  161. package/lib/validation/raw.js +3 -4
  162. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
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
+
5
17
  ## [0.12.0](https://github.com/elyukai/optolith-database-schema/compare/v0.11.9...v0.12.0) (2023-06-03)
6
18
 
7
19
 
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
  };
@@ -2,6 +2,7 @@
2
2
  * @main Ritual
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("Ritual"),
11
12
  schemaValidator: createSchemaValidator(import.meta.url),
13
+ fileNameValidator: validateEntityFileName,
12
14
  };