optolith-database-schema 0.0.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 (169) hide show
  1. package/AUTHORS +1 -0
  2. package/CHANGELOG.md +27 -0
  3. package/CODEOWNERS +1 -0
  4. package/LICENSE +378 -0
  5. package/README.md +17 -0
  6. package/lib/main.d.ts +1 -0
  7. package/lib/main.js +1 -0
  8. package/lib/types/ArcaneBardTradition.d.ts +32 -0
  9. package/lib/types/ArcaneBardTradition.js +4 -0
  10. package/lib/types/ArcaneDancerTradition.d.ts +32 -0
  11. package/lib/types/ArcaneDancerTradition.js +4 -0
  12. package/lib/types/Aspect.d.ts +36 -0
  13. package/lib/types/Aspect.js +4 -0
  14. package/lib/types/Attribute.d.ts +42 -0
  15. package/lib/types/Attribute.js +5 -0
  16. package/lib/types/CombatTechnique_Close.d.ts +80 -0
  17. package/lib/types/CombatTechnique_Close.js +4 -0
  18. package/lib/types/CombatTechnique_Ranged.d.ts +62 -0
  19. package/lib/types/CombatTechnique_Ranged.js +4 -0
  20. package/lib/types/Condition.d.ts +51 -0
  21. package/lib/types/Condition.js +4 -0
  22. package/lib/types/Culture.d.ts +494 -0
  23. package/lib/types/Culture.js +4 -0
  24. package/lib/types/DerivedCharacteristic.d.ts +65 -0
  25. package/lib/types/DerivedCharacteristic.js +4 -0
  26. package/lib/types/Element.d.ts +30 -0
  27. package/lib/types/Element.js +4 -0
  28. package/lib/types/ExperienceLevel.d.ts +68 -0
  29. package/lib/types/ExperienceLevel.js +4 -0
  30. package/lib/types/EyeColor.d.ts +30 -0
  31. package/lib/types/EyeColor.js +4 -0
  32. package/lib/types/HairColor.d.ts +30 -0
  33. package/lib/types/HairColor.js +4 -0
  34. package/lib/types/Lessons_Curriculum.d.ts +297 -0
  35. package/lib/types/Lessons_Curriculum.js +4 -0
  36. package/lib/types/Lessons_Guideline.d.ts +36 -0
  37. package/lib/types/Lessons_Guideline.js +4 -0
  38. package/lib/types/Locale.d.ts +38 -0
  39. package/lib/types/Locale.js +4 -0
  40. package/lib/types/MetaCondition.d.ts +54 -0
  41. package/lib/types/MetaCondition.js +4 -0
  42. package/lib/types/Property.d.ts +36 -0
  43. package/lib/types/Property.js +4 -0
  44. package/lib/types/Race.d.ts +524 -0
  45. package/lib/types/Race.js +13 -0
  46. package/lib/types/Region.d.ts +30 -0
  47. package/lib/types/Region.js +4 -0
  48. package/lib/types/Service.d.ts +40 -0
  49. package/lib/types/Service.js +4 -0
  50. package/lib/types/SexPractice.d.ts +53 -0
  51. package/lib/types/SexPractice.js +4 -0
  52. package/lib/types/Skill.d.ts +169 -0
  53. package/lib/types/Skill.js +4 -0
  54. package/lib/types/SkillGroup.d.ts +40 -0
  55. package/lib/types/SkillGroup.js +4 -0
  56. package/lib/types/SkillModificationIncrement.d.ts +82 -0
  57. package/lib/types/SkillModificationIncrement.js +4 -0
  58. package/lib/types/SocialStatus.d.ts +30 -0
  59. package/lib/types/SocialStatus.js +4 -0
  60. package/lib/types/State.d.ts +40 -0
  61. package/lib/types/State.js +4 -0
  62. package/lib/types/TargetCategory.d.ts +36 -0
  63. package/lib/types/TargetCategory.js +4 -0
  64. package/lib/types/_ActivatableSkill.d.ts +919 -0
  65. package/lib/types/_ActivatableSkill.js +38 -0
  66. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +12 -0
  67. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +1 -0
  68. package/lib/types/_ImprovementCost.d.ts +9 -0
  69. package/lib/types/_ImprovementCost.js +10 -0
  70. package/lib/types/_Prerequisite.d.ts +274 -0
  71. package/lib/types/_Prerequisite.js +4 -0
  72. package/lib/types/_Sex.d.ts +11 -0
  73. package/lib/types/_Sex.js +4 -0
  74. package/lib/types/_SkillCheck.d.ts +28 -0
  75. package/lib/types/_SkillCheck.js +1 -0
  76. package/lib/types/magicalActions/AnimistPower.d.ts +227 -0
  77. package/lib/types/magicalActions/AnimistPower.js +4 -0
  78. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +30 -0
  79. package/lib/types/magicalActions/AnimistPower_Tribe.js +4 -0
  80. package/lib/types/magicalActions/Curse.d.ts +228 -0
  81. package/lib/types/magicalActions/Curse.js +4 -0
  82. package/lib/types/magicalActions/DominationRitual.d.ts +181 -0
  83. package/lib/types/magicalActions/DominationRitual.js +4 -0
  84. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +149 -0
  85. package/lib/types/magicalActions/ElvenMagicalSong.js +4 -0
  86. package/lib/types/magicalActions/GeodeRitual.d.ts +162 -0
  87. package/lib/types/magicalActions/GeodeRitual.js +4 -0
  88. package/lib/types/magicalActions/JesterTrick.d.ts +167 -0
  89. package/lib/types/magicalActions/JesterTrick.js +4 -0
  90. package/lib/types/magicalActions/MagicalDance.d.ts +184 -0
  91. package/lib/types/magicalActions/MagicalDance.js +4 -0
  92. package/lib/types/magicalActions/MagicalMelody.d.ts +132 -0
  93. package/lib/types/magicalActions/MagicalMelody.js +4 -0
  94. package/lib/types/magicalActions/MagicalRune.d.ts +241 -0
  95. package/lib/types/magicalActions/MagicalRune.js +4 -0
  96. package/lib/types/magicalActions/ZibiljaRitual.d.ts +101 -0
  97. package/lib/types/magicalActions/ZibiljaRitual.js +4 -0
  98. package/lib/types/magicalActions/_MusicTradition.d.ts +28 -0
  99. package/lib/types/magicalActions/_MusicTradition.js +1 -0
  100. package/lib/types/magicalActions/_SkillReference.d.ts +13 -0
  101. package/lib/types/magicalActions/_SkillReference.js +5 -0
  102. package/lib/types/rule/FocusRule.d.ts +53 -0
  103. package/lib/types/rule/FocusRule.js +4 -0
  104. package/lib/types/rule/FocusRule_Subject.d.ts +31 -0
  105. package/lib/types/rule/FocusRule_Subject.js +4 -0
  106. package/lib/types/rule/OptionalRule.d.ts +65 -0
  107. package/lib/types/rule/OptionalRule.js +4 -0
  108. package/lib/types/source/Publication.d.ts +4 -0
  109. package/lib/types/source/Publication.js +4 -0
  110. package/lib/types/source/_Erratum.d.ts +25 -0
  111. package/lib/types/source/_Erratum.js +4 -0
  112. package/lib/types/source/_PublicationRef.d.ts +146 -0
  113. package/lib/types/source/_PublicationRef.js +4 -0
  114. package/lib/validation/integrity.d.ts +16 -0
  115. package/lib/validation/integrity.js +3 -0
  116. package/package.json +37 -0
  117. package/schema/ArcaneBardTradition.schema.json +49 -0
  118. package/schema/ArcaneDancerTradition.schema.json +49 -0
  119. package/schema/Aspect.schema.json +50 -0
  120. package/schema/Attribute.schema.json +57 -0
  121. package/schema/CombatTechnique_Close.schema.json +127 -0
  122. package/schema/CombatTechnique_Ranged.schema.json +83 -0
  123. package/schema/Condition.schema.json +84 -0
  124. package/schema/Culture.schema.json +858 -0
  125. package/schema/DerivedCharacteristic.schema.json +90 -0
  126. package/schema/Element.schema.json +45 -0
  127. package/schema/ExperienceLevel.schema.json +84 -0
  128. package/schema/EyeColor.schema.json +45 -0
  129. package/schema/HairColor.schema.json +45 -0
  130. package/schema/Lessons_Curriculum.schema.json +500 -0
  131. package/schema/Lessons_Guideline.schema.json +51 -0
  132. package/schema/Locale.schema.json +45 -0
  133. package/schema/MetaCondition.schema.json +85 -0
  134. package/schema/Property.schema.json +49 -0
  135. package/schema/Race.schema.json +724 -0
  136. package/schema/Region.schema.json +45 -0
  137. package/schema/Service.schema.json +58 -0
  138. package/schema/SexPractice.schema.json +72 -0
  139. package/schema/Skill.schema.json +278 -0
  140. package/schema/SkillGroup.schema.json +56 -0
  141. package/schema/SkillModificationIncrement.schema.json +98 -0
  142. package/schema/SocialStatus.schema.json +45 -0
  143. package/schema/State.schema.json +58 -0
  144. package/schema/TargetCategory.schema.json +51 -0
  145. package/schema/_ActivatableSkill.schema.json +1534 -0
  146. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +22 -0
  147. package/schema/_ImprovementCost.schema.json +15 -0
  148. package/schema/_Prerequisite.schema.json +519 -0
  149. package/schema/_Sex.schema.json +36 -0
  150. package/schema/_SkillCheck.schema.json +94 -0
  151. package/schema/magicalActions/AnimistPower.schema.json +411 -0
  152. package/schema/magicalActions/AnimistPower_Tribe.schema.json +45 -0
  153. package/schema/magicalActions/Curse.schema.json +378 -0
  154. package/schema/magicalActions/DominationRitual.schema.json +288 -0
  155. package/schema/magicalActions/ElvenMagicalSong.schema.json +194 -0
  156. package/schema/magicalActions/GeodeRitual.schema.json +303 -0
  157. package/schema/magicalActions/JesterTrick.schema.json +292 -0
  158. package/schema/magicalActions/MagicalDance.schema.json +328 -0
  159. package/schema/magicalActions/MagicalMelody.schema.json +254 -0
  160. package/schema/magicalActions/MagicalRune.schema.json +426 -0
  161. package/schema/magicalActions/ZibiljaRitual.schema.json +159 -0
  162. package/schema/magicalActions/_MusicTradition.schema.json +44 -0
  163. package/schema/magicalActions/_SkillReference.schema.json +26 -0
  164. package/schema/rule/FocusRule.schema.json +71 -0
  165. package/schema/rule/FocusRule_Subject.schema.json +46 -0
  166. package/schema/rule/OptionalRule.schema.json +96 -0
  167. package/schema/source/Publication.schema.json +165 -0
  168. package/schema/source/_Erratum.schema.json +37 -0
  169. package/schema/source/_PublicationRef.schema.json +242 -0
@@ -0,0 +1,242 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "source/_PublicationRef.schema.json",
4
+ "$ref": "#/definitions/PublicationRefs",
5
+ "definitions": {
6
+ "PublicationRefs": {
7
+ "title": "Publication References",
8
+ "description": "The publications where you can find the entry.",
9
+ "type": "array",
10
+ "items": {
11
+ "$ref": "#/definitions/PublicationRef"
12
+ },
13
+ "minItems": 1
14
+ },
15
+ "PublicationRef": {
16
+ "title": "Publication Reference",
17
+ "description": "A source reference. It contains the book's publisher identifier and the page\nwhere it occurs. If an entry spans multiple pages, provide the last page as\nwell.",
18
+ "type": "object",
19
+ "properties": {
20
+ "id": {
21
+ "description": "The publication's identifier.",
22
+ "type": "integer",
23
+ "minimum": 1
24
+ },
25
+ "occurrences": {
26
+ "description": "All occurrences of the entry, identified by IETF language tag (BCP47).",
27
+ "type": "object",
28
+ "patternProperties": {
29
+ "^[a-z]{2}-[A-Z]{2}$": {
30
+ "$ref": "#/definitions/Occurrence"
31
+ }
32
+ },
33
+ "minProperties": 1,
34
+ "additionalProperties": false
35
+ }
36
+ },
37
+ "required": [
38
+ "id",
39
+ "occurrences"
40
+ ],
41
+ "additionalProperties": false
42
+ },
43
+ "Occurrence": {
44
+ "oneOf": [
45
+ {
46
+ "$ref": "#/definitions/SimpleOccurrence"
47
+ },
48
+ {
49
+ "$ref": "#/definitions/SimpleOccurrences"
50
+ },
51
+ {
52
+ "$ref": "#/definitions/VersionedOccurrence"
53
+ }
54
+ ]
55
+ },
56
+ "SimpleOccurrences": {
57
+ "title": "Simple Occurrences",
58
+ "type": "array",
59
+ "items": {
60
+ "$ref": "#/definitions/SimpleOccurrence"
61
+ },
62
+ "minItems": 1
63
+ },
64
+ "SimpleOccurrence": {
65
+ "title": "Simple Occurrence",
66
+ "type": "object",
67
+ "properties": {
68
+ "first_page": {
69
+ "description": "The page where it occurs. If the entry spans multiple pages, use this as\nthe first page and `last_page` as the last page.",
70
+ "type": "integer",
71
+ "minimum": 1
72
+ },
73
+ "last_page": {
74
+ "description": "The last page where it occurs. If there is only one page, set this to the\nsame as `first_page` oder remove it.",
75
+ "type": "integer",
76
+ "minimum": 2
77
+ }
78
+ },
79
+ "required": [
80
+ "first_page"
81
+ ],
82
+ "additionalProperties": false
83
+ },
84
+ "VersionedOccurrence": {
85
+ "title": "Versioned Occurrence",
86
+ "type": "object",
87
+ "properties": {
88
+ "initial": {
89
+ "title": "Initial",
90
+ "description": "The initial occurrence of the entry.",
91
+ "type": "object",
92
+ "properties": {
93
+ "printing": {
94
+ "description": "The publication's printing since which the entry is present. Leave\nempty if present since the beginning.",
95
+ "type": "integer",
96
+ "minimum": 2
97
+ },
98
+ "pages": {
99
+ "description": "The initial page references.",
100
+ "type": "array",
101
+ "items": {
102
+ "$ref": "#/definitions/PageRange"
103
+ },
104
+ "minItems": 1
105
+ }
106
+ },
107
+ "required": [
108
+ "pages"
109
+ ],
110
+ "additionalProperties": false
111
+ },
112
+ "revisions": {
113
+ "description": "Revisions of the entry, resulting in either changed page references or\nre-addition or removal of an entry.",
114
+ "type": "array",
115
+ "items": {
116
+ "$ref": "#/definitions/Revision"
117
+ },
118
+ "minItems": 1
119
+ }
120
+ },
121
+ "required": [
122
+ "initial"
123
+ ],
124
+ "additionalProperties": false
125
+ },
126
+ "Revision": {
127
+ "title": "Revision",
128
+ "description": "A revision of the entry, resulting in either changed page references or\nre-addition or removal of an entry.",
129
+ "oneOf": [
130
+ {
131
+ "type": "object",
132
+ "properties": {
133
+ "tag": {
134
+ "const": "Since"
135
+ },
136
+ "printing": {
137
+ "description": "The publication's printing since which the entry is present again or has\nchanged page references.",
138
+ "type": "integer",
139
+ "minimum": 2
140
+ },
141
+ "pages": {
142
+ "description": "The changed or new page references.",
143
+ "type": "array",
144
+ "items": {
145
+ "$ref": "#/definitions/PageRange"
146
+ },
147
+ "minItems": 1
148
+ }
149
+ },
150
+ "required": [
151
+ "tag",
152
+ "printing",
153
+ "pages"
154
+ ],
155
+ "additionalProperties": false
156
+ },
157
+ {
158
+ "type": "object",
159
+ "properties": {
160
+ "tag": {
161
+ "const": "Deprecated"
162
+ },
163
+ "printing": {
164
+ "description": "The publication's printing since which the entry has been removed.",
165
+ "type": "integer",
166
+ "minimum": 2
167
+ }
168
+ },
169
+ "required": [
170
+ "tag",
171
+ "printing"
172
+ ],
173
+ "additionalProperties": false
174
+ }
175
+ ]
176
+ },
177
+ "PageRange": {
178
+ "title": "Page Range",
179
+ "type": "object",
180
+ "properties": {
181
+ "first_page": {
182
+ "description": "The page where it occurs. If the entry spans multiple pages, use this as\nthe first page and `last_page` as the last page.",
183
+ "$ref": "#/definitions/Page"
184
+ },
185
+ "last_page": {
186
+ "description": "The last page where it occurs. If there is only one page, set this to the\nsame as `first_page` oder remove it.",
187
+ "$ref": "#/definitions/Page"
188
+ }
189
+ },
190
+ "required": [
191
+ "first_page"
192
+ ],
193
+ "additionalProperties": false
194
+ },
195
+ "Page": {
196
+ "title": "Page",
197
+ "oneOf": [
198
+ {
199
+ "type": "object",
200
+ "properties": {
201
+ "tag": {
202
+ "const": "InsideCoverFront"
203
+ }
204
+ },
205
+ "required": [
206
+ "tag"
207
+ ],
208
+ "additionalProperties": false
209
+ },
210
+ {
211
+ "type": "object",
212
+ "properties": {
213
+ "tag": {
214
+ "const": "InsideCoverBack"
215
+ }
216
+ },
217
+ "required": [
218
+ "tag"
219
+ ],
220
+ "additionalProperties": false
221
+ },
222
+ {
223
+ "type": "object",
224
+ "properties": {
225
+ "tag": {
226
+ "const": "Numbered"
227
+ },
228
+ "number": {
229
+ "description": "The page number.",
230
+ "type": "integer"
231
+ }
232
+ },
233
+ "required": [
234
+ "tag",
235
+ "number"
236
+ ],
237
+ "additionalProperties": false
238
+ }
239
+ ]
240
+ }
241
+ }
242
+ }