optolith-database-schema 0.24.3 → 0.25.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 (154) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/gen/types.d.ts +17 -0
  3. package/lib/test.d.ts +1 -1
  4. package/lib/test.js +10 -1
  5. package/lib/types/Advantage.js +7 -0
  6. package/lib/types/AnimalDisease.js +6 -0
  7. package/lib/types/AnimalType.js +6 -0
  8. package/lib/types/ArcaneBardTradition.js +6 -0
  9. package/lib/types/ArcaneDancerTradition.js +6 -0
  10. package/lib/types/Aspect.js +6 -0
  11. package/lib/types/Attribute.js +10 -0
  12. package/lib/types/Blessing.js +6 -0
  13. package/lib/types/Cantrip.js +6 -0
  14. package/lib/types/Ceremony.js +6 -0
  15. package/lib/types/CombatTechnique.js +12 -0
  16. package/lib/types/Condition.js +6 -0
  17. package/lib/types/Continent.js +6 -0
  18. package/lib/types/Culture.js +6 -0
  19. package/lib/types/DerivedCharacteristic.js +10 -0
  20. package/lib/types/Disadvantage.js +7 -0
  21. package/lib/types/Disease.js +6 -0
  22. package/lib/types/Element.js +6 -0
  23. package/lib/types/ExperienceLevel.js +6 -0
  24. package/lib/types/EyeColor.js +6 -0
  25. package/lib/types/FamiliarsTrick.js +6 -0
  26. package/lib/types/HairColor.js +6 -0
  27. package/lib/types/Lessons.js +12 -0
  28. package/lib/types/LiturgicalChant.js +6 -0
  29. package/lib/types/Locale.js +10 -0
  30. package/lib/types/MetaCondition.js +6 -0
  31. package/lib/types/PactCategory.js +36 -0
  32. package/lib/types/Patron.js +6 -0
  33. package/lib/types/PatronCategory.js +6 -0
  34. package/lib/types/PersonalityTrait.js +6 -0
  35. package/lib/types/Property.js +6 -0
  36. package/lib/types/Race.js +17 -0
  37. package/lib/types/Region.js +6 -0
  38. package/lib/types/Ritual.js +6 -0
  39. package/lib/types/Service.js +6 -0
  40. package/lib/types/SexPractice.js +6 -0
  41. package/lib/types/Skill.js +15 -0
  42. package/lib/types/SkillGroup.js +6 -0
  43. package/lib/types/SkillModificationLevel.js +8 -0
  44. package/lib/types/SocialStatus.js +7 -0
  45. package/lib/types/Spell.js +6 -0
  46. package/lib/types/State.js +6 -0
  47. package/lib/types/Talisman.js +6 -0
  48. package/lib/types/TargetCategory.js +6 -0
  49. package/lib/types/_ActivatableSelectOptions.js +11 -0
  50. package/lib/types/_Enhancements.js +11 -0
  51. package/lib/types/_Influence.js +6 -0
  52. package/lib/types/equipment/EquipmentPackage.js +6 -0
  53. package/lib/types/equipment/item/Ammunition.js +6 -0
  54. package/lib/types/equipment/item/Animal.js +6 -0
  55. package/lib/types/equipment/item/AnimalCare.js +6 -0
  56. package/lib/types/equipment/item/Armor.js +6 -0
  57. package/lib/types/equipment/item/BandageOrRemedy.js +6 -0
  58. package/lib/types/equipment/item/Book.js +6 -0
  59. package/lib/types/equipment/item/CeremonialItem.js +6 -0
  60. package/lib/types/equipment/item/Clothes.js +6 -0
  61. package/lib/types/equipment/item/Container.js +6 -0
  62. package/lib/types/equipment/item/Elixir.js +6 -0
  63. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +6 -0
  64. package/lib/types/equipment/item/GemOrPreciousStone.js +6 -0
  65. package/lib/types/equipment/item/IlluminationLightSource.js +6 -0
  66. package/lib/types/equipment/item/IlluminationRefillOrSupply.js +6 -0
  67. package/lib/types/equipment/item/Jewelry.js +6 -0
  68. package/lib/types/equipment/item/Laboratory.js +6 -0
  69. package/lib/types/equipment/item/Liebesspielzeug.js +6 -0
  70. package/lib/types/equipment/item/LuxuryGood.js +6 -0
  71. package/lib/types/equipment/item/MagicalArtifact.js +6 -0
  72. package/lib/types/equipment/item/MusicalInstrument.js +6 -0
  73. package/lib/types/equipment/item/Newspaper.js +6 -0
  74. package/lib/types/equipment/item/Poison.js +6 -0
  75. package/lib/types/equipment/item/ToolOfTheTrade.js +6 -0
  76. package/lib/types/equipment/item/TravelGearOrTool.js +6 -0
  77. package/lib/types/equipment/item/Vehicle.js +6 -0
  78. package/lib/types/equipment/item/Weapon.js +6 -0
  79. package/lib/types/equipment/item/WeaponAccessory.js +6 -0
  80. package/lib/types/equipment/item/_Item.js +6 -0
  81. package/lib/types/equipment/item/sub/ArmorType.js +6 -0
  82. package/lib/types/equipment/item/sub/Reach.js +6 -0
  83. package/lib/types/magicalActions/AnimistPower.js +6 -0
  84. package/lib/types/magicalActions/AnimistPower_Tribe.js +6 -0
  85. package/lib/types/magicalActions/Curse.js +6 -0
  86. package/lib/types/magicalActions/DominationRitual.js +6 -0
  87. package/lib/types/magicalActions/ElvenMagicalSong.js +6 -0
  88. package/lib/types/magicalActions/GeodeRitual.js +6 -0
  89. package/lib/types/magicalActions/JesterTrick.js +6 -0
  90. package/lib/types/magicalActions/MagicalDance.js +6 -0
  91. package/lib/types/magicalActions/MagicalMelody.js +6 -0
  92. package/lib/types/magicalActions/MagicalRune.js +6 -0
  93. package/lib/types/magicalActions/ZibiljaRitual.js +6 -0
  94. package/lib/types/rule/AlternativeRule.js +6 -0
  95. package/lib/types/rule/CoreRule.js +6 -0
  96. package/lib/types/rule/FocusRule.js +6 -0
  97. package/lib/types/rule/FocusRule_Subject.js +6 -0
  98. package/lib/types/rule/OptionalRule.js +6 -0
  99. package/lib/types/source/Publication.js +6 -0
  100. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +7 -0
  101. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +7 -0
  102. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +7 -0
  103. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +7 -0
  104. package/lib/types/specialAbility/AncestorGlyph.js +7 -0
  105. package/lib/types/specialAbility/BlessedTradition.js +7 -0
  106. package/lib/types/specialAbility/BrawlingSpecialAbility.js +7 -0
  107. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +12 -0
  108. package/lib/types/specialAbility/CombatSpecialAbility.js +7 -0
  109. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +7 -0
  110. package/lib/types/specialAbility/CommandSpecialAbility.js +7 -0
  111. package/lib/types/specialAbility/FamiliarSpecialAbility.js +7 -0
  112. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +7 -0
  113. package/lib/types/specialAbility/FatePointSpecialAbility.js +7 -0
  114. package/lib/types/specialAbility/GeneralSpecialAbility.js +7 -0
  115. package/lib/types/specialAbility/KarmaSpecialAbility.js +7 -0
  116. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +7 -0
  117. package/lib/types/specialAbility/LycantropicGift.js +7 -0
  118. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +7 -0
  119. package/lib/types/specialAbility/MagicalSign.js +7 -0
  120. package/lib/types/specialAbility/MagicalSpecialAbility.js +7 -0
  121. package/lib/types/specialAbility/MagicalTradition.js +7 -0
  122. package/lib/types/specialAbility/PactGift.js +7 -0
  123. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +7 -0
  124. package/lib/types/specialAbility/Sermon.js +7 -0
  125. package/lib/types/specialAbility/SexSpecialAbility.js +7 -0
  126. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +7 -0
  127. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +7 -0
  128. package/lib/types/specialAbility/VampiricGift.js +7 -0
  129. package/lib/types/specialAbility/Vision.js +7 -0
  130. package/lib/types/specialAbility/sub/Language.js +6 -0
  131. package/lib/types/specialAbility/sub/Script.js +6 -0
  132. package/lib/types/specialAbility/sub/TradeSecret.js +6 -0
  133. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +7 -0
  134. package/lib/types/traditionArtifacts/AttireEnchantment.js +7 -0
  135. package/lib/types/traditionArtifacts/Beutelzauber.js +7 -0
  136. package/lib/types/traditionArtifacts/BowlEnchantment.js +7 -0
  137. package/lib/types/traditionArtifacts/CauldronEnchantment.js +7 -0
  138. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +7 -0
  139. package/lib/types/traditionArtifacts/DaggerRitual.js +7 -0
  140. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +7 -0
  141. package/lib/types/traditionArtifacts/Haubenzauber.js +7 -0
  142. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +7 -0
  143. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +7 -0
  144. package/lib/types/traditionArtifacts/Kristallkugelzauber.js +7 -0
  145. package/lib/types/traditionArtifacts/OrbEnchantment.js +7 -0
  146. package/lib/types/traditionArtifacts/RingEnchantment.js +7 -0
  147. package/lib/types/traditionArtifacts/SickleRitual.js +7 -0
  148. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +7 -0
  149. package/lib/types/traditionArtifacts/StaffEnchantment.js +7 -0
  150. package/lib/types/traditionArtifacts/ToyEnchantment.js +7 -0
  151. package/lib/types/traditionArtifacts/Trinkhornzauber.js +7 -0
  152. package/lib/types/traditionArtifacts/WandEnchantment.js +7 -0
  153. package/lib/types/traditionArtifacts/WeaponEnchantment.js +7 -0
  154. package/package.json +2 -2
@@ -39,6 +39,14 @@ export const SkillModificationLevel = Entity(import.meta.url, {
39
39
  localeId: locales[0],
40
40
  };
41
41
  },
42
+ uniqueConstraints: [
43
+ { keyPath: ["fast", "casting_time"] },
44
+ { keyPath: ["fast", "range"] },
45
+ { keyPath: ["fast", "cost"] },
46
+ { keyPath: ["slow", "casting_time"] },
47
+ { keyPath: ["slow", "range"] },
48
+ { keyPath: ["slow", "cost"] },
49
+ ],
42
50
  });
43
51
  const FastSkillModificationLevelConfig = TypeAlias(import.meta.url, {
44
52
  name: "FastSkillModificationLevelConfig",
@@ -16,4 +16,11 @@ export const SocialStatus = Entity(import.meta.url, {
16
16
  })),
17
17
  }),
18
18
  displayName: {},
19
+ uniqueConstraints: [
20
+ { keyPath: "order" },
21
+ {
22
+ entityMapKeyPath: "translations",
23
+ keyPathInEntityMap: "name",
24
+ },
25
+ ],
19
26
  });
@@ -86,4 +86,10 @@ export const Spell = Entity(import.meta.url, {
86
86
  }),
87
87
  }),
88
88
  displayName: {},
89
+ uniqueConstraints: [
90
+ {
91
+ entityMapKeyPath: "translations",
92
+ keyPathInEntityMap: "name",
93
+ },
94
+ ],
89
95
  });
@@ -22,4 +22,10 @@ export const State = Entity(import.meta.url, {
22
22
  })),
23
23
  }),
24
24
  displayName: {},
25
+ uniqueConstraints: [
26
+ {
27
+ entityMapKeyPath: "translations",
28
+ keyPathInEntityMap: "name",
29
+ },
30
+ ],
25
31
  });
@@ -39,6 +39,12 @@ export const Talisman = Entity(import.meta.url, {
39
39
  })),
40
40
  }),
41
41
  displayName: {},
42
+ uniqueConstraints: [
43
+ {
44
+ entityMapKeyPath: "translations",
45
+ keyPathInEntityMap: "name",
46
+ },
47
+ ],
42
48
  });
43
49
  const TalismanType = Enum(import.meta.url, {
44
50
  name: "TalismanType",
@@ -17,4 +17,10 @@ export const TargetCategory = Entity(import.meta.url, {
17
17
  })),
18
18
  }),
19
19
  displayName: {},
20
+ uniqueConstraints: [
21
+ {
22
+ entityMapKeyPath: "translations",
23
+ keyPathInEntityMap: "name",
24
+ },
25
+ ],
20
26
  });
@@ -92,6 +92,17 @@ export const GeneralSelectOption = Entity(import.meta.url, {
92
92
  : (getDisplayNameForInstanceId(getAnyEnumCaseValue(instance.parent))?.name ?? "")} — ${instanceDisplayName}`,
93
93
  localeId: instanceDisplayNameLocaleId,
94
94
  }),
95
+ uniqueConstraints: [
96
+ [
97
+ {
98
+ keyPath: "parent",
99
+ },
100
+ {
101
+ entityMapKeyPath: "translations",
102
+ keyPathInEntityMap: "name",
103
+ },
104
+ ],
105
+ ],
95
106
  });
96
107
  export const explicit_select_options = Required({
97
108
  comment: `Explicit definitions for possible options for the activatable entry.
@@ -66,4 +66,15 @@ export const Enhancement = Entity(import.meta.url, {
66
66
  name: `${getDisplayNameForInstanceId(getAnyEnumCaseValue(instance.parent))?.name ?? ""} — ${instanceDisplayName}`,
67
67
  localeId: instanceDisplayNameLocaleId,
68
68
  }),
69
+ uniqueConstraints: [
70
+ [
71
+ {
72
+ keyPath: "parent",
73
+ },
74
+ {
75
+ entityMapKeyPath: "translations",
76
+ keyPathInEntityMap: "name",
77
+ },
78
+ ],
79
+ ],
69
80
  });
@@ -26,6 +26,12 @@ export const Influence = Entity(import.meta.url, {
26
26
  })),
27
27
  }),
28
28
  displayName: {},
29
+ uniqueConstraints: [
30
+ {
31
+ entityMapKeyPath: "translations",
32
+ keyPathInEntityMap: "name",
33
+ },
34
+ ],
29
35
  });
30
36
  const InfluenceEffect = TypeAlias(import.meta.url, {
31
37
  name: "InfluenceEffect",
@@ -19,6 +19,12 @@ export const EquipmentPackage = Entity(import.meta.url, {
19
19
  })),
20
20
  }),
21
21
  displayName: {},
22
+ uniqueConstraints: [
23
+ {
24
+ entityMapKeyPath: "translations",
25
+ keyPathInEntityMap: "name",
26
+ },
27
+ ],
22
28
  });
23
29
  const EquipmentPackageItem = TypeAlias(import.meta.url, {
24
30
  name: "EquipmentPackageItem",
@@ -35,4 +35,10 @@ export const Ammunition = Entity(import.meta.url, {
35
35
  })),
36
36
  }),
37
37
  displayName: {},
38
+ uniqueConstraints: [
39
+ {
40
+ entityMapKeyPath: "translations",
41
+ keyPathInEntityMap: "name",
42
+ },
43
+ ],
38
44
  });
@@ -13,4 +13,10 @@ export const Animal = Entity(import.meta.url, {
13
13
  translations: DefaultItemTranslations("Animal"),
14
14
  }),
15
15
  displayName: {},
16
+ uniqueConstraints: [
17
+ {
18
+ entityMapKeyPath: "translations",
19
+ keyPathInEntityMap: "name",
20
+ },
21
+ ],
16
22
  });
@@ -13,6 +13,12 @@ export const AnimalCare = Entity(import.meta.url, {
13
13
  translations: DefaultItemTranslations("AnimalCare"),
14
14
  }),
15
15
  displayName: {},
16
+ uniqueConstraints: [
17
+ {
18
+ entityMapKeyPath: "translations",
19
+ keyPathInEntityMap: "name",
20
+ },
21
+ ],
16
22
  });
17
23
  const AnimalCareType = Enum(import.meta.url, {
18
24
  name: "AnimalCareType",
@@ -76,6 +76,12 @@ export const Armor = Entity(import.meta.url, {
76
76
  })),
77
77
  }),
78
78
  displayName: {},
79
+ uniqueConstraints: [
80
+ {
81
+ entityMapKeyPath: "translations",
82
+ keyPathInEntityMap: "name",
83
+ },
84
+ ],
79
85
  });
80
86
  export const SecondaryArmor = TypeAlias(import.meta.url, {
81
87
  name: "SecondaryArmor",
@@ -29,4 +29,10 @@ export const BandageOrRemedy = Entity(import.meta.url, {
29
29
  translations: DefaultItemTranslations("BandageOrRemedy"),
30
30
  }),
31
31
  displayName: {},
32
+ uniqueConstraints: [
33
+ {
34
+ entityMapKeyPath: "translations",
35
+ keyPathInEntityMap: "name",
36
+ },
37
+ ],
32
38
  });
@@ -60,6 +60,12 @@ export const Book = Entity(import.meta.url, {
60
60
  })),
61
61
  }),
62
62
  displayName: {},
63
+ uniqueConstraints: [
64
+ {
65
+ entityMapKeyPath: "translations",
66
+ keyPathInEntityMap: "name",
67
+ },
68
+ ],
63
69
  });
64
70
  const BookType = Enum(import.meta.url, {
65
71
  name: "BookType",
@@ -34,4 +34,10 @@ export const CeremonialItem = Entity(import.meta.url, {
34
34
  translations: DefaultItemTranslations("CeremonialItem"),
35
35
  }),
36
36
  displayName: {},
37
+ uniqueConstraints: [
38
+ {
39
+ entityMapKeyPath: "translations",
40
+ keyPathInEntityMap: "name",
41
+ },
42
+ ],
37
43
  });
@@ -29,4 +29,10 @@ export const Clothes = Entity(import.meta.url, {
29
29
  translations: DefaultItemTranslations("Clothes"),
30
30
  }),
31
31
  displayName: {},
32
+ uniqueConstraints: [
33
+ {
34
+ entityMapKeyPath: "translations",
35
+ keyPathInEntityMap: "name",
36
+ },
37
+ ],
32
38
  });
@@ -29,4 +29,10 @@ export const Container = Entity(import.meta.url, {
29
29
  translations: DefaultItemTranslations("Container"),
30
30
  }),
31
31
  displayName: {},
32
+ uniqueConstraints: [
33
+ {
34
+ entityMapKeyPath: "translations",
35
+ keyPathInEntityMap: "name",
36
+ },
37
+ ],
32
38
  });
@@ -68,4 +68,10 @@ export const Elixir = Entity(import.meta.url, {
68
68
  })),
69
69
  }),
70
70
  displayName: {},
71
+ uniqueConstraints: [
72
+ {
73
+ entityMapKeyPath: "translations",
74
+ keyPathInEntityMap: "name",
75
+ },
76
+ ],
71
77
  });
@@ -25,4 +25,10 @@ export const EquipmentOfBlessedOnes = Entity(import.meta.url, {
25
25
  translations: DefaultItemTranslations("EquipmentOfBlessedOnes"),
26
26
  }),
27
27
  displayName: {},
28
+ uniqueConstraints: [
29
+ {
30
+ entityMapKeyPath: "translations",
31
+ keyPathInEntityMap: "name",
32
+ },
33
+ ],
28
34
  });
@@ -43,4 +43,10 @@ export const GemOrPreciousStone = Entity(import.meta.url, {
43
43
  })),
44
44
  }),
45
45
  displayName: {},
46
+ uniqueConstraints: [
47
+ {
48
+ entityMapKeyPath: "translations",
49
+ keyPathInEntityMap: "name",
50
+ },
51
+ ],
46
52
  });
@@ -33,6 +33,12 @@ export const IlluminationLightSource = Entity(import.meta.url, {
33
33
  translations: DefaultItemTranslations("IlluminationLightSource"),
34
34
  }),
35
35
  displayName: {},
36
+ uniqueConstraints: [
37
+ {
38
+ entityMapKeyPath: "translations",
39
+ keyPathInEntityMap: "name",
40
+ },
41
+ ],
36
42
  });
37
43
  const BurningTime = Enum(import.meta.url, {
38
44
  name: "BurningTime",
@@ -29,4 +29,10 @@ export const IlluminationRefillOrSupply = Entity(import.meta.url, {
29
29
  translations: DefaultItemTranslations("IlluminationRefillOrSupply"),
30
30
  }),
31
31
  displayName: {},
32
+ uniqueConstraints: [
33
+ {
34
+ entityMapKeyPath: "translations",
35
+ keyPathInEntityMap: "name",
36
+ },
37
+ ],
32
38
  });
@@ -25,6 +25,12 @@ export const Jewelry = Entity(import.meta.url, {
25
25
  translations: DefaultItemTranslations("Jewelry"),
26
26
  }),
27
27
  displayName: {},
28
+ uniqueConstraints: [
29
+ {
30
+ entityMapKeyPath: "translations",
31
+ keyPathInEntityMap: "name",
32
+ },
33
+ ],
28
34
  });
29
35
  const JewelryMaterialDifference = GenTypeAlias(import.meta.url, {
30
36
  name: "JewelryMaterialDifference",
@@ -25,4 +25,10 @@ export const Laboratory = Entity(import.meta.url, {
25
25
  translations: DefaultItemTranslations("Laboratory"),
26
26
  }),
27
27
  displayName: {},
28
+ uniqueConstraints: [
29
+ {
30
+ entityMapKeyPath: "translations",
31
+ keyPathInEntityMap: "name",
32
+ },
33
+ ],
28
34
  });
@@ -29,4 +29,10 @@ export const Liebesspielzeug = Entity(import.meta.url, {
29
29
  translations: DefaultItemTranslations("Liebesspielzeug"),
30
30
  }),
31
31
  displayName: {},
32
+ uniqueConstraints: [
33
+ {
34
+ entityMapKeyPath: "translations",
35
+ keyPathInEntityMap: "name",
36
+ },
37
+ ],
32
38
  });
@@ -29,4 +29,10 @@ export const LuxuryGood = Entity(import.meta.url, {
29
29
  translations: DefaultItemTranslations("LuxuryGood"),
30
30
  }),
31
31
  displayName: {},
32
+ uniqueConstraints: [
33
+ {
34
+ entityMapKeyPath: "translations",
35
+ keyPathInEntityMap: "name",
36
+ },
37
+ ],
32
38
  });
@@ -63,4 +63,10 @@ export const MagicalArtifact = Entity(import.meta.url, {
63
63
  })),
64
64
  }),
65
65
  displayName: {},
66
+ uniqueConstraints: [
67
+ {
68
+ entityMapKeyPath: "translations",
69
+ keyPathInEntityMap: "name",
70
+ },
71
+ ],
66
72
  });
@@ -29,4 +29,10 @@ export const MusicalInstrument = Entity(import.meta.url, {
29
29
  translations: DefaultItemTranslations("MusicalInstrument"),
30
30
  }),
31
31
  displayName: {},
32
+ uniqueConstraints: [
33
+ {
34
+ entityMapKeyPath: "translations",
35
+ keyPathInEntityMap: "name",
36
+ },
37
+ ],
32
38
  });
@@ -27,4 +27,10 @@ export const Newspaper = Entity(import.meta.url, {
27
27
  })),
28
28
  }),
29
29
  displayName: {},
30
+ uniqueConstraints: [
31
+ {
32
+ entityMapKeyPath: "translations",
33
+ keyPathInEntityMap: "name",
34
+ },
35
+ ],
30
36
  });
@@ -63,6 +63,12 @@ export const Poison = Entity(import.meta.url, {
63
63
  })),
64
64
  }),
65
65
  displayName: {},
66
+ uniqueConstraints: [
67
+ {
68
+ entityMapKeyPath: "translations",
69
+ keyPathInEntityMap: "name",
70
+ },
71
+ ],
66
72
  });
67
73
  const PoisonApplicationType = Enum(import.meta.url, {
68
74
  name: "PoisonApplicationType",
@@ -25,4 +25,10 @@ export const ToolOfTheTrade = Entity(import.meta.url, {
25
25
  translations: DefaultItemTranslations("ToolOfTheTrade"),
26
26
  }),
27
27
  displayName: {},
28
+ uniqueConstraints: [
29
+ {
30
+ entityMapKeyPath: "translations",
31
+ keyPathInEntityMap: "name",
32
+ },
33
+ ],
28
34
  });
@@ -29,4 +29,10 @@ export const TravelGearOrTool = Entity(import.meta.url, {
29
29
  translations: DefaultItemTranslations("TravelGearOrTool"),
30
30
  }),
31
31
  displayName: {},
32
+ uniqueConstraints: [
33
+ {
34
+ entityMapKeyPath: "translations",
35
+ keyPathInEntityMap: "name",
36
+ },
37
+ ],
32
38
  });
@@ -21,4 +21,10 @@ export const Vehicle = Entity(import.meta.url, {
21
21
  translations: DefaultItemTranslations("Vehicle"),
22
22
  }),
23
23
  displayName: {},
24
+ uniqueConstraints: [
25
+ {
26
+ entityMapKeyPath: "translations",
27
+ keyPathInEntityMap: "name",
28
+ },
29
+ ],
24
30
  });
@@ -80,6 +80,12 @@ export const Weapon = Entity(import.meta.url, {
80
80
  })),
81
81
  }),
82
82
  displayName: {},
83
+ uniqueConstraints: [
84
+ {
85
+ entityMapKeyPath: "translations",
86
+ keyPathInEntityMap: "name",
87
+ },
88
+ ],
83
89
  });
84
90
  export const ImprovisedWeapon = TypeAlias(import.meta.url, {
85
91
  name: "ImprovisedWeapon",
@@ -29,4 +29,10 @@ export const WeaponAccessory = Entity(import.meta.url, {
29
29
  translations: DefaultItemTranslations("WeaponAccessory"),
30
30
  }),
31
31
  displayName: {},
32
+ uniqueConstraints: [
33
+ {
34
+ entityMapKeyPath: "translations",
35
+ keyPathInEntityMap: "name",
36
+ },
37
+ ],
32
38
  });
@@ -33,6 +33,12 @@ export const DefaultItem = (sourceUrl, singularName, pluralName) => Entity(sourc
33
33
  translations: DefaultItemTranslations(singularName),
34
34
  }),
35
35
  displayName: {},
36
+ uniqueConstraints: [
37
+ {
38
+ entityMapKeyPath: "translations",
39
+ keyPathInEntityMap: "name",
40
+ },
41
+ ],
36
42
  });
37
43
  export const DefaultItemTranslations = (singularName) => NestedTranslationMap(Required, singularName, Object({
38
44
  name: Required({
@@ -16,4 +16,10 @@ export const ArmorType = Entity(import.meta.url, {
16
16
  })),
17
17
  }),
18
18
  displayName: {},
19
+ uniqueConstraints: [
20
+ {
21
+ entityMapKeyPath: "translations",
22
+ keyPathInEntityMap: "name",
23
+ },
24
+ ],
19
25
  });
@@ -12,4 +12,10 @@ export const Reach = Entity(import.meta.url, {
12
12
  })),
13
13
  }),
14
14
  displayName: {},
15
+ uniqueConstraints: [
16
+ {
17
+ entityMapKeyPath: "translations",
18
+ keyPathInEntityMap: "name",
19
+ },
20
+ ],
15
21
  });
@@ -74,6 +74,12 @@ If no tribe tradition is given, the animist power is generally available to all
74
74
  })),
75
75
  }),
76
76
  displayName: {},
77
+ uniqueConstraints: [
78
+ {
79
+ entityMapKeyPath: "translations",
80
+ keyPathInEntityMap: "name",
81
+ },
82
+ ],
77
83
  });
78
84
  const AnimistPowerLevel = TypeAlias(import.meta.url, {
79
85
  name: "AnimistPowerLevel",
@@ -17,4 +17,10 @@ export const Tribe = Entity(import.meta.url, {
17
17
  })),
18
18
  }),
19
19
  displayName: {},
20
+ uniqueConstraints: [
21
+ {
22
+ entityMapKeyPath: "translations",
23
+ keyPathInEntityMap: "name",
24
+ },
25
+ ],
20
26
  });
@@ -53,6 +53,12 @@ export const Curse = Entity(import.meta.url, {
53
53
  })),
54
54
  }),
55
55
  displayName: {},
56
+ uniqueConstraints: [
57
+ {
58
+ entityMapKeyPath: "translations",
59
+ keyPathInEntityMap: "name",
60
+ },
61
+ ],
56
62
  });
57
63
  const CursePerformanceParameters = TypeAlias(import.meta.url, {
58
64
  name: "CursePerformanceParameters",
@@ -52,6 +52,12 @@ export const DominationRitual = Entity(import.meta.url, {
52
52
  })),
53
53
  }),
54
54
  displayName: {},
55
+ uniqueConstraints: [
56
+ {
57
+ entityMapKeyPath: "translations",
58
+ keyPathInEntityMap: "name",
59
+ },
60
+ ],
55
61
  });
56
62
  const DominationRitualPerformanceParameters = TypeAlias(import.meta.url, {
57
63
  name: "DominationRitualPerformanceParameters",
@@ -61,6 +61,12 @@ export const ElvenMagicalSong = Entity(import.meta.url, {
61
61
  })),
62
62
  }),
63
63
  displayName: {},
64
+ uniqueConstraints: [
65
+ {
66
+ entityMapKeyPath: "translations",
67
+ keyPathInEntityMap: "name",
68
+ },
69
+ ],
64
70
  });
65
71
  const ElvenMagicalSongPerformanceParameters = TypeAlias(import.meta.url, {
66
72
  name: "ElvenMagicalSongPerformanceParameters",
@@ -71,6 +71,12 @@ export const GeodeRitual = Entity(import.meta.url, {
71
71
  })),
72
72
  }),
73
73
  displayName: {},
74
+ uniqueConstraints: [
75
+ {
76
+ entityMapKeyPath: "translations",
77
+ keyPathInEntityMap: "name",
78
+ },
79
+ ],
74
80
  });
75
81
  const GeodeRitualPerformanceParameters = TypeAlias(import.meta.url, {
76
82
  name: "GeodeRitualPerformanceParameters",
@@ -73,6 +73,12 @@ export const JesterTrick = Entity(import.meta.url, {
73
73
  })),
74
74
  }),
75
75
  displayName: {},
76
+ uniqueConstraints: [
77
+ {
78
+ entityMapKeyPath: "translations",
79
+ keyPathInEntityMap: "name",
80
+ },
81
+ ],
76
82
  });
77
83
  export const JesterTrickPerformanceParameters = TypeAlias(import.meta.url, {
78
84
  name: "JesterTrickPerformanceParameters",
@@ -60,6 +60,12 @@ export const MagicalDance = Entity(import.meta.url, {
60
60
  })),
61
61
  }),
62
62
  displayName: {},
63
+ uniqueConstraints: [
64
+ {
65
+ entityMapKeyPath: "translations",
66
+ keyPathInEntityMap: "name",
67
+ },
68
+ ],
63
69
  });
64
70
  const MagicalDancePerformanceParameters = TypeAlias(import.meta.url, {
65
71
  name: "MagicalDancePerformanceParameters",
@@ -70,6 +70,12 @@ export const MagicalMelody = Entity(import.meta.url, {
70
70
  })),
71
71
  }),
72
72
  displayName: {},
73
+ uniqueConstraints: [
74
+ {
75
+ entityMapKeyPath: "translations",
76
+ keyPathInEntityMap: "name",
77
+ },
78
+ ],
73
79
  });
74
80
  const MagicalMelodyPerformanceParameters = TypeAlias(import.meta.url, {
75
81
  name: "MagicalMelodyPerformanceParameters",
@@ -76,6 +76,12 @@ If the rune has an option, the option’s name will/should not be included in th
76
76
  })),
77
77
  }),
78
78
  displayName: {},
79
+ uniqueConstraints: [
80
+ {
81
+ entityMapKeyPath: "translations",
82
+ keyPathInEntityMap: "name",
83
+ },
84
+ ],
79
85
  });
80
86
  const OldParameterBySpeed = TypeAlias(import.meta.url, {
81
87
  name: "OldParameterBySpeed",