5etools-utils 0.8.26 → 0.8.28

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 (208) hide show
  1. package/lib/BrewCleaner.js +10 -3
  2. package/package.json +1 -1
  3. package/schema/brew/actions.json +1 -1
  4. package/schema/brew/adventures.json +3 -2
  5. package/schema/brew/backgrounds.json +6 -6
  6. package/schema/brew/bestiary/bestiary.json +29 -29
  7. package/schema/brew/bestiary/legendarygroups.json +6 -6
  8. package/schema/brew/bestiary/template.json +6 -6
  9. package/schema/brew/books.json +1 -1
  10. package/schema/brew/charcreationoptions.json +1 -1
  11. package/schema/brew/class/class.json +24 -24
  12. package/schema/brew/class/foundry.json +8 -8
  13. package/schema/brew/conditionsdiseases.json +1 -1
  14. package/schema/brew/cultsboons.json +2 -2
  15. package/schema/brew/decks.json +12 -12
  16. package/schema/brew/deities.json +6 -6
  17. package/schema/brew/encounters.json +1 -1
  18. package/schema/brew/entry.json +42 -42
  19. package/schema/brew/feats.json +1 -1
  20. package/schema/brew/fluff-charcreationoptions.json +1 -1
  21. package/schema/brew/fluff-conditionsdiseases.json +1 -1
  22. package/schema/brew/fluff-languages.json +1 -1
  23. package/schema/brew/fluff-races.json +6 -6
  24. package/schema/brew/fluff-recipes.json +1 -1
  25. package/schema/brew/fluff-vehicles.json +3 -3
  26. package/schema/brew/foundry-backgrounds.json +2 -2
  27. package/schema/brew/foundry-items.json +1 -1
  28. package/schema/brew/foundry-psionics.json +2 -2
  29. package/schema/brew/foundry-races.json +2 -2
  30. package/schema/brew/generated/gendata-spell-source-lookup.json +1 -1
  31. package/schema/brew/homebrew.json +5 -6
  32. package/schema/brew/items-base.json +9 -9
  33. package/schema/brew/items-shared.json +2 -2
  34. package/schema/brew/items.json +6 -6
  35. package/schema/brew/languages.json +1 -1
  36. package/schema/brew/loot.json +5 -5
  37. package/schema/brew/magicvariants.json +3 -3
  38. package/schema/brew/makebrew-creature.json +2 -2
  39. package/schema/brew/names.json +1 -1
  40. package/schema/brew/objects.json +1 -1
  41. package/schema/brew/optionalfeatures.json +2 -2
  42. package/schema/brew/psionics.json +1 -1
  43. package/schema/brew/races.json +17 -17
  44. package/schema/brew/recipes.json +1 -1
  45. package/schema/brew/rewards.json +1 -1
  46. package/schema/brew/senses.json +1 -1
  47. package/schema/brew/skills.json +1 -1
  48. package/schema/brew/spells/roll20.json +1 -1
  49. package/schema/brew/spells/spells.json +29 -29
  50. package/schema/brew/tables.json +1 -1
  51. package/schema/brew/trapshazards.json +3 -3
  52. package/schema/brew/util.json +28 -23
  53. package/schema/brew/variantrules.json +1 -1
  54. package/schema/brew/vehicles.json +4 -4
  55. package/schema/brew-fast/actions.json +1 -1
  56. package/schema/brew-fast/adventures.json +3 -2
  57. package/schema/brew-fast/backgrounds.json +6 -6
  58. package/schema/brew-fast/bestiary/bestiary.json +29 -29
  59. package/schema/brew-fast/bestiary/legendarygroups.json +6 -6
  60. package/schema/brew-fast/bestiary/template.json +6 -6
  61. package/schema/brew-fast/books.json +1 -1
  62. package/schema/brew-fast/charcreationoptions.json +1 -1
  63. package/schema/brew-fast/class/class.json +24 -24
  64. package/schema/brew-fast/class/foundry.json +8 -8
  65. package/schema/brew-fast/conditionsdiseases.json +1 -1
  66. package/schema/brew-fast/cultsboons.json +2 -2
  67. package/schema/brew-fast/decks.json +12 -12
  68. package/schema/brew-fast/deities.json +6 -6
  69. package/schema/brew-fast/encounters.json +1 -1
  70. package/schema/brew-fast/entry.json +42 -42
  71. package/schema/brew-fast/feats.json +1 -1
  72. package/schema/brew-fast/fluff-charcreationoptions.json +1 -1
  73. package/schema/brew-fast/fluff-conditionsdiseases.json +1 -1
  74. package/schema/brew-fast/fluff-languages.json +1 -1
  75. package/schema/brew-fast/fluff-races.json +6 -6
  76. package/schema/brew-fast/fluff-recipes.json +1 -1
  77. package/schema/brew-fast/fluff-vehicles.json +3 -3
  78. package/schema/brew-fast/foundry-backgrounds.json +2 -2
  79. package/schema/brew-fast/foundry-items.json +1 -1
  80. package/schema/brew-fast/foundry-psionics.json +2 -2
  81. package/schema/brew-fast/foundry-races.json +2 -2
  82. package/schema/brew-fast/generated/gendata-spell-source-lookup.json +1 -1
  83. package/schema/brew-fast/homebrew.json +5 -6
  84. package/schema/brew-fast/items-base.json +9 -9
  85. package/schema/brew-fast/items-shared.json +2 -2
  86. package/schema/brew-fast/items.json +6 -6
  87. package/schema/brew-fast/languages.json +1 -1
  88. package/schema/brew-fast/loot.json +5 -5
  89. package/schema/brew-fast/magicvariants.json +3 -3
  90. package/schema/brew-fast/makebrew-creature.json +2 -2
  91. package/schema/brew-fast/names.json +1 -1
  92. package/schema/brew-fast/objects.json +1 -1
  93. package/schema/brew-fast/optionalfeatures.json +2 -2
  94. package/schema/brew-fast/psionics.json +1 -1
  95. package/schema/brew-fast/races.json +17 -17
  96. package/schema/brew-fast/recipes.json +1 -1
  97. package/schema/brew-fast/rewards.json +1 -1
  98. package/schema/brew-fast/senses.json +1 -1
  99. package/schema/brew-fast/skills.json +1 -1
  100. package/schema/brew-fast/spells/roll20.json +1 -1
  101. package/schema/brew-fast/spells/spells.json +29 -29
  102. package/schema/brew-fast/tables.json +1 -1
  103. package/schema/brew-fast/trapshazards.json +3 -3
  104. package/schema/brew-fast/util.json +28 -23
  105. package/schema/brew-fast/variantrules.json +1 -1
  106. package/schema/brew-fast/vehicles.json +4 -4
  107. package/schema/site/actions.json +1 -1
  108. package/schema/site/adventures.json +3 -2
  109. package/schema/site/backgrounds.json +6 -6
  110. package/schema/site/bestiary/bestiary.json +23 -23
  111. package/schema/site/bestiary/legendarygroups.json +6 -6
  112. package/schema/site/bestiary/template.json +6 -6
  113. package/schema/site/books.json +1 -1
  114. package/schema/site/charcreationoptions.json +1 -1
  115. package/schema/site/class/class.json +24 -24
  116. package/schema/site/class/foundry.json +8 -8
  117. package/schema/site/conditionsdiseases.json +1 -1
  118. package/schema/site/cultsboons.json +2 -2
  119. package/schema/site/decks.json +12 -12
  120. package/schema/site/deities.json +6 -6
  121. package/schema/site/encounters.json +1 -1
  122. package/schema/site/entry.json +41 -41
  123. package/schema/site/feats.json +1 -1
  124. package/schema/site/fluff-charcreationoptions.json +1 -1
  125. package/schema/site/fluff-conditionsdiseases.json +1 -1
  126. package/schema/site/fluff-languages.json +1 -1
  127. package/schema/site/fluff-races.json +6 -6
  128. package/schema/site/fluff-recipes.json +1 -1
  129. package/schema/site/fluff-vehicles.json +3 -3
  130. package/schema/site/foundry-backgrounds.json +2 -2
  131. package/schema/site/foundry-items.json +1 -1
  132. package/schema/site/foundry-psionics.json +2 -2
  133. package/schema/site/foundry-races.json +2 -2
  134. package/schema/site/generated/gendata-spell-source-lookup.json +1 -1
  135. package/schema/site/homebrew.json +5 -6
  136. package/schema/site/items-base.json +9 -9
  137. package/schema/site/items.json +6 -6
  138. package/schema/site/languages.json +1 -1
  139. package/schema/site/loot.json +5 -5
  140. package/schema/site/magicvariants.json +3 -3
  141. package/schema/site/makebrew-creature.json +2 -2
  142. package/schema/site/names.json +1 -1
  143. package/schema/site/objects.json +1 -1
  144. package/schema/site/optionalfeatures.json +2 -2
  145. package/schema/site/psionics.json +1 -1
  146. package/schema/site/races.json +17 -17
  147. package/schema/site/recipes.json +1 -1
  148. package/schema/site/rewards.json +1 -1
  149. package/schema/site/senses.json +1 -1
  150. package/schema/site/skills.json +1 -1
  151. package/schema/site/spells/roll20.json +1 -1
  152. package/schema/site/spells/spells.json +8 -8
  153. package/schema/site/tables.json +1 -1
  154. package/schema/site/trapshazards.json +3 -3
  155. package/schema/site/util.json +28 -23
  156. package/schema/site/variantrules.json +1 -1
  157. package/schema/site/vehicles.json +4 -4
  158. package/schema/site-fast/actions.json +1 -1
  159. package/schema/site-fast/adventures.json +3 -2
  160. package/schema/site-fast/backgrounds.json +6 -6
  161. package/schema/site-fast/bestiary/bestiary.json +23 -23
  162. package/schema/site-fast/bestiary/legendarygroups.json +6 -6
  163. package/schema/site-fast/bestiary/template.json +6 -6
  164. package/schema/site-fast/books.json +1 -1
  165. package/schema/site-fast/charcreationoptions.json +1 -1
  166. package/schema/site-fast/class/class.json +24 -24
  167. package/schema/site-fast/class/foundry.json +8 -8
  168. package/schema/site-fast/conditionsdiseases.json +1 -1
  169. package/schema/site-fast/cultsboons.json +2 -2
  170. package/schema/site-fast/decks.json +12 -12
  171. package/schema/site-fast/deities.json +6 -6
  172. package/schema/site-fast/encounters.json +1 -1
  173. package/schema/site-fast/entry.json +41 -41
  174. package/schema/site-fast/feats.json +1 -1
  175. package/schema/site-fast/fluff-charcreationoptions.json +1 -1
  176. package/schema/site-fast/fluff-conditionsdiseases.json +1 -1
  177. package/schema/site-fast/fluff-languages.json +1 -1
  178. package/schema/site-fast/fluff-races.json +6 -6
  179. package/schema/site-fast/fluff-recipes.json +1 -1
  180. package/schema/site-fast/fluff-vehicles.json +3 -3
  181. package/schema/site-fast/foundry-backgrounds.json +2 -2
  182. package/schema/site-fast/foundry-items.json +1 -1
  183. package/schema/site-fast/foundry-psionics.json +2 -2
  184. package/schema/site-fast/foundry-races.json +2 -2
  185. package/schema/site-fast/generated/gendata-spell-source-lookup.json +1 -1
  186. package/schema/site-fast/homebrew.json +5 -6
  187. package/schema/site-fast/items-base.json +9 -9
  188. package/schema/site-fast/items.json +6 -6
  189. package/schema/site-fast/languages.json +1 -1
  190. package/schema/site-fast/loot.json +5 -5
  191. package/schema/site-fast/magicvariants.json +3 -3
  192. package/schema/site-fast/makebrew-creature.json +2 -2
  193. package/schema/site-fast/names.json +1 -1
  194. package/schema/site-fast/objects.json +1 -1
  195. package/schema/site-fast/optionalfeatures.json +2 -2
  196. package/schema/site-fast/psionics.json +1 -1
  197. package/schema/site-fast/races.json +17 -17
  198. package/schema/site-fast/recipes.json +1 -1
  199. package/schema/site-fast/rewards.json +1 -1
  200. package/schema/site-fast/senses.json +1 -1
  201. package/schema/site-fast/skills.json +1 -1
  202. package/schema/site-fast/spells/roll20.json +1 -1
  203. package/schema/site-fast/spells/spells.json +8 -8
  204. package/schema/site-fast/tables.json +1 -1
  205. package/schema/site-fast/trapshazards.json +3 -3
  206. package/schema/site-fast/util.json +28 -23
  207. package/schema/site-fast/variantrules.json +1 -1
  208. package/schema/site-fast/vehicles.json +4 -4
@@ -14,7 +14,9 @@ class BrewCleaner {
14
14
 
15
15
  static _CONTENT_KEY_BLOCKLIST = new Set(["$schema", "_meta", "siteVersion"]);
16
16
 
17
- static _RE_INVALID_WINDOWS_CHARS = /[<>:"/\\|?*]/g;
17
+ static _RE_INVALID_WINDOWS_CHARS = /[<>:"/\\|?*]/;
18
+
19
+ static _RE_VALID_SOURCE_CHARS = /^[-a-zA-Z0-9 :&+!]+$/;
18
20
 
19
21
  static _ALL_SOURCES_JSON_LOWER = new Set();
20
22
 
@@ -74,7 +76,12 @@ class BrewCleaner {
74
76
  }
75
77
  docSourcesJson.forEach(src => this._ALL_SOURCES_JSON_LOWER.add(src.toLowerCase()));
76
78
 
77
- const validSources = new Set(docSourcesJson);
79
+ const invalidSourceChars = docSourcesJson.filter(src => !this._RE_VALID_SOURCE_CHARS.test(src));
80
+ if (invalidSourceChars.length) {
81
+ ALL_ERRORS.push(`${file} :: "json" source${invalidSourceChars.length === 1 ? "" : "s"} contained invalid characters (must match ${this._RE_VALID_SOURCE_CHARS.toString()}): ${invalidSourceChars.map(src => `"${src}"`).join(", ")}`);
82
+ }
83
+
84
+ const docSourcesJsonSet = new Set(docSourcesJson);
78
85
 
79
86
  Object.keys(contents)
80
87
  .filter(k => !this._CONTENT_KEY_BLOCKLIST.has(k))
@@ -88,7 +95,7 @@ class BrewCleaner {
88
95
  data.forEach(it => {
89
96
  const source = it.source || (it.inherits ? it.inherits.source : null);
90
97
  if (!source) return ALL_ERRORS.push(`${file} :: ${k} :: "${it.name || it.id}" had no source!`);
91
- if (!validSources.has(source)) return ALL_ERRORS.push(`${file} :: ${k} :: "${it.name || it.id}" source "${source}" was not in _meta`);
98
+ if (!docSourcesJsonSet.has(source)) return ALL_ERRORS.push(`${file} :: ${k} :: "${it.name || it.id}" source "${source}" was not in _meta`);
92
99
  });
93
100
  });
94
101
  // endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "5etools-utils",
3
- "version": "0.8.26",
3
+ "version": "0.8.28",
4
4
  "description": "Shared utilities for the 5etools ecosystem.",
5
5
  "type": "module",
6
6
  "main": "lib/Api.js",
@@ -17,7 +17,7 @@
17
17
  }
18
18
  },
19
19
  "source": {
20
- "type": "string"
20
+ "$ref": "util.json#/$defs/source"
21
21
  },
22
22
  "page": {
23
23
  "$ref": "util.json#/$defs/page"
@@ -22,11 +22,12 @@
22
22
  "description": "An ID that will be used to refer to this adventure in tags."
23
23
  },
24
24
  "source": {
25
- "type": "string"
25
+ "$ref": "util.json#/$defs/source"
26
26
  },
27
27
  "parentSource": {
28
28
  "type": "string",
29
- "description": "Used for books that contain multiple adventures, e.g. TftYP"
29
+ "description": "Used for books that contain multiple adventures, e.g. TftYP",
30
+ "$ref": "util.json#/$defs/source"
30
31
  },
31
32
  "group": {
32
33
  "description": "The group under which this adventure should be listed in the navbar.",
@@ -11,7 +11,7 @@
11
11
  "type": "string"
12
12
  },
13
13
  "source": {
14
- "type": "string"
14
+ "$ref": "util.json#/$defs/source"
15
15
  },
16
16
  "page": {
17
17
  "$ref": "util.json#/$defs/page"
@@ -126,7 +126,7 @@
126
126
  "type": "string"
127
127
  },
128
128
  "source": {
129
- "type": "string"
129
+ "$ref": "util.json#/$defs/source"
130
130
  },
131
131
  "page": {
132
132
  "$ref": "util.json#/$defs/page"
@@ -244,7 +244,7 @@
244
244
  "type": "string"
245
245
  },
246
246
  "source": {
247
- "type": "string"
247
+ "$ref": "util.json#/$defs/source"
248
248
  },
249
249
  "page": {
250
250
  "$ref": "util.json#/$defs/page"
@@ -354,7 +354,7 @@
354
354
  "type": "string"
355
355
  },
356
356
  "source": {
357
- "type": "string"
357
+ "$ref": "util.json#/$defs/source"
358
358
  },
359
359
  "pantheon": {
360
360
  "description": "Used in deity data",
@@ -370,7 +370,7 @@
370
370
  },
371
371
  "classSource": {
372
372
  "description": "Used in subclass data",
373
- "type": "string"
373
+ "$ref": "util.json#/$defs/source"
374
374
  },
375
375
  "_mod": {
376
376
  "$ref": "util.json#/$defs/_modObject"
@@ -382,7 +382,7 @@
382
382
  "type": "string"
383
383
  },
384
384
  "source": {
385
- "type": "string"
385
+ "$ref": "util.json#/$defs/source"
386
386
  }
387
387
  },
388
388
  "required": [
@@ -261,7 +261,7 @@
261
261
  ]
262
262
  },
263
263
  "source": {
264
- "type": "string"
264
+ "$ref": "../util.json#/$defs/source"
265
265
  },
266
266
  "sourceSub": {
267
267
  "type": "string",
@@ -755,7 +755,7 @@
755
755
  "type": "string"
756
756
  },
757
757
  "source": {
758
- "type": "string"
758
+ "$ref": "../util.json#/$defs/source"
759
759
  }
760
760
  }
761
761
  },
@@ -873,7 +873,7 @@
873
873
  "type": "string"
874
874
  },
875
875
  "source": {
876
- "type": "string"
876
+ "$ref": "../util.json#/$defs/source"
877
877
  },
878
878
  "page": {
879
879
  "$ref": "../util.json#/$defs/page"
@@ -1247,7 +1247,7 @@
1247
1247
  "type": "string"
1248
1248
  },
1249
1249
  "source": {
1250
- "type": "string"
1250
+ "$ref": "../util.json#/$defs/source"
1251
1251
  }
1252
1252
  }
1253
1253
  },
@@ -1258,7 +1258,7 @@
1258
1258
  "type": "string"
1259
1259
  },
1260
1260
  "source": {
1261
- "type": "string"
1261
+ "$ref": "../util.json#/$defs/source"
1262
1262
  }
1263
1263
  }
1264
1264
  }
@@ -1425,7 +1425,7 @@
1425
1425
  ]
1426
1426
  },
1427
1427
  "source": {
1428
- "type": "string"
1428
+ "$ref": "../util.json#/$defs/source"
1429
1429
  },
1430
1430
  "sourceSub": {
1431
1431
  "type": "string",
@@ -1919,7 +1919,7 @@
1919
1919
  "type": "string"
1920
1920
  },
1921
1921
  "source": {
1922
- "type": "string"
1922
+ "$ref": "../util.json#/$defs/source"
1923
1923
  }
1924
1924
  }
1925
1925
  },
@@ -2037,7 +2037,7 @@
2037
2037
  "type": "string"
2038
2038
  },
2039
2039
  "source": {
2040
- "type": "string"
2040
+ "$ref": "../util.json#/$defs/source"
2041
2041
  },
2042
2042
  "page": {
2043
2043
  "$ref": "../util.json#/$defs/page"
@@ -2411,7 +2411,7 @@
2411
2411
  "type": "string"
2412
2412
  },
2413
2413
  "source": {
2414
- "type": "string"
2414
+ "$ref": "../util.json#/$defs/source"
2415
2415
  }
2416
2416
  }
2417
2417
  },
@@ -2422,7 +2422,7 @@
2422
2422
  "type": "string"
2423
2423
  },
2424
2424
  "source": {
2425
- "type": "string"
2425
+ "$ref": "../util.json#/$defs/source"
2426
2426
  }
2427
2427
  }
2428
2428
  }
@@ -2603,7 +2603,7 @@
2603
2603
  ]
2604
2604
  },
2605
2605
  "source": {
2606
- "type": "string"
2606
+ "$ref": "../util.json#/$defs/source"
2607
2607
  },
2608
2608
  "sourceSub": {
2609
2609
  "type": "string",
@@ -3097,7 +3097,7 @@
3097
3097
  "type": "string"
3098
3098
  },
3099
3099
  "source": {
3100
- "type": "string"
3100
+ "$ref": "../util.json#/$defs/source"
3101
3101
  }
3102
3102
  }
3103
3103
  },
@@ -3215,7 +3215,7 @@
3215
3215
  "type": "string"
3216
3216
  },
3217
3217
  "source": {
3218
- "type": "string"
3218
+ "$ref": "../util.json#/$defs/source"
3219
3219
  },
3220
3220
  "page": {
3221
3221
  "$ref": "../util.json#/$defs/page"
@@ -3589,7 +3589,7 @@
3589
3589
  "type": "string"
3590
3590
  },
3591
3591
  "source": {
3592
- "type": "string"
3592
+ "$ref": "../util.json#/$defs/source"
3593
3593
  }
3594
3594
  }
3595
3595
  },
@@ -3600,7 +3600,7 @@
3600
3600
  "type": "string"
3601
3601
  },
3602
3602
  "source": {
3603
- "type": "string"
3603
+ "$ref": "../util.json#/$defs/source"
3604
3604
  }
3605
3605
  }
3606
3606
  }
@@ -3618,7 +3618,7 @@
3618
3618
  "type": "string"
3619
3619
  },
3620
3620
  "source": {
3621
- "type": "string"
3621
+ "$ref": "../util.json#/$defs/source"
3622
3622
  },
3623
3623
  "pantheon": {
3624
3624
  "description": "Used in deity data",
@@ -3634,7 +3634,7 @@
3634
3634
  },
3635
3635
  "classSource": {
3636
3636
  "description": "Used in subclass data",
3637
- "type": "string"
3637
+ "$ref": "../util.json#/$defs/source"
3638
3638
  },
3639
3639
  "_mod": {
3640
3640
  "$ref": "../util.json#/$defs/_modObject"
@@ -3646,7 +3646,7 @@
3646
3646
  "type": "string"
3647
3647
  },
3648
3648
  "source": {
3649
- "type": "string"
3649
+ "$ref": "../util.json#/$defs/source"
3650
3650
  }
3651
3651
  },
3652
3652
  "required": [
@@ -3689,7 +3689,7 @@
3689
3689
  "type": "string"
3690
3690
  },
3691
3691
  "source": {
3692
- "type": "string"
3692
+ "$ref": "../util.json#/$defs/source"
3693
3693
  },
3694
3694
  "addAs": {
3695
3695
  "type": "string"
@@ -3707,7 +3707,7 @@
3707
3707
  "type": "string"
3708
3708
  },
3709
3709
  "source": {
3710
- "type": "string"
3710
+ "$ref": "../util.json#/$defs/source"
3711
3711
  },
3712
3712
  "addHeadersAs": {
3713
3713
  "type": "string"
@@ -3732,7 +3732,7 @@
3732
3732
  "type": "string"
3733
3733
  },
3734
3734
  "source": {
3735
- "type": "string"
3735
+ "$ref": "../util.json#/$defs/source"
3736
3736
  },
3737
3737
  "page": {
3738
3738
  "$ref": "../util.json#/$defs/page"
@@ -3758,7 +3758,7 @@
3758
3758
  "const": "variant"
3759
3759
  },
3760
3760
  "source": {
3761
- "type": "string"
3761
+ "$ref": "../util.json#/$defs/source"
3762
3762
  },
3763
3763
  "page": {
3764
3764
  "$ref": "../util.json#/$defs/page"
@@ -3789,7 +3789,7 @@
3789
3789
  "type": "string"
3790
3790
  },
3791
3791
  "source": {
3792
- "type": "string"
3792
+ "$ref": "../util.json#/$defs/source"
3793
3793
  },
3794
3794
  "page": {
3795
3795
  "$ref": "../util.json#/$defs/page"
@@ -3809,7 +3809,7 @@
3809
3809
  "type": "string"
3810
3810
  },
3811
3811
  "source": {
3812
- "type": "string"
3812
+ "$ref": "../util.json#/$defs/source"
3813
3813
  },
3814
3814
  "addAs": {
3815
3815
  "type": "string"
@@ -3827,7 +3827,7 @@
3827
3827
  "type": "string"
3828
3828
  },
3829
3829
  "source": {
3830
- "type": "string"
3830
+ "$ref": "../util.json#/$defs/source"
3831
3831
  },
3832
3832
  "addHeadersAs": {
3833
3833
  "type": "string"
@@ -3859,7 +3859,7 @@
3859
3859
  "const": "inset"
3860
3860
  },
3861
3861
  "source": {
3862
- "type": "string"
3862
+ "$ref": "../util.json#/$defs/source"
3863
3863
  },
3864
3864
  "page": {
3865
3865
  "$ref": "../util.json#/$defs/page"
@@ -3893,7 +3893,7 @@
3893
3893
  "type": "string"
3894
3894
  },
3895
3895
  "source": {
3896
- "type": "string"
3896
+ "$ref": "../util.json#/$defs/source"
3897
3897
  },
3898
3898
  "page": {
3899
3899
  "$ref": "../util.json#/$defs/page"
@@ -3913,7 +3913,7 @@
3913
3913
  "type": "string"
3914
3914
  },
3915
3915
  "source": {
3916
- "type": "string"
3916
+ "$ref": "../util.json#/$defs/source"
3917
3917
  },
3918
3918
  "addAs": {
3919
3919
  "type": "string"
@@ -3931,7 +3931,7 @@
3931
3931
  "type": "string"
3932
3932
  },
3933
3933
  "source": {
3934
- "type": "string"
3934
+ "$ref": "../util.json#/$defs/source"
3935
3935
  },
3936
3936
  "addHeadersAs": {
3937
3937
  "type": "string"
@@ -11,7 +11,7 @@
11
11
  "type": "string"
12
12
  },
13
13
  "source": {
14
- "type": "string"
14
+ "$ref": "../util.json#/$defs/source"
15
15
  },
16
16
  "page": {
17
17
  "$ref": "../util.json#/$defs/page"
@@ -49,7 +49,7 @@
49
49
  "type": "string"
50
50
  },
51
51
  "source": {
52
- "type": "string"
52
+ "$ref": "../util.json#/$defs/source"
53
53
  },
54
54
  "page": {
55
55
  "$ref": "../util.json#/$defs/page"
@@ -89,7 +89,7 @@
89
89
  "type": "string"
90
90
  },
91
91
  "source": {
92
- "type": "string"
92
+ "$ref": "../util.json#/$defs/source"
93
93
  },
94
94
  "page": {
95
95
  "$ref": "../util.json#/$defs/page"
@@ -122,7 +122,7 @@
122
122
  "type": "string"
123
123
  },
124
124
  "source": {
125
- "type": "string"
125
+ "$ref": "../util.json#/$defs/source"
126
126
  },
127
127
  "pantheon": {
128
128
  "description": "Used in deity data",
@@ -138,7 +138,7 @@
138
138
  },
139
139
  "classSource": {
140
140
  "description": "Used in subclass data",
141
- "type": "string"
141
+ "$ref": "../util.json#/$defs/source"
142
142
  },
143
143
  "_mod": {
144
144
  "$ref": "../util.json#/$defs/_modObject"
@@ -150,7 +150,7 @@
150
150
  "type": "string"
151
151
  },
152
152
  "source": {
153
- "type": "string"
153
+ "$ref": "../util.json#/$defs/source"
154
154
  }
155
155
  },
156
156
  "required": [
@@ -11,7 +11,7 @@
11
11
  "type": "string"
12
12
  },
13
13
  "source": {
14
- "type": "string"
14
+ "$ref": "../util.json#/$defs/source"
15
15
  },
16
16
  "page": {
17
17
  "$ref": "../util.json#/$defs/page"
@@ -74,7 +74,7 @@
74
74
  "type": "string"
75
75
  },
76
76
  "source": {
77
- "type": "string"
77
+ "$ref": "../util.json#/$defs/source"
78
78
  },
79
79
  "page": {
80
80
  "$ref": "../util.json#/$defs/page"
@@ -140,7 +140,7 @@
140
140
  "type": "string"
141
141
  },
142
142
  "source": {
143
- "type": "string"
143
+ "$ref": "../util.json#/$defs/source"
144
144
  },
145
145
  "page": {
146
146
  "$ref": "../util.json#/$defs/page"
@@ -198,7 +198,7 @@
198
198
  "type": "string"
199
199
  },
200
200
  "source": {
201
- "type": "string"
201
+ "$ref": "../util.json#/$defs/source"
202
202
  },
203
203
  "pantheon": {
204
204
  "description": "Used in deity data",
@@ -214,7 +214,7 @@
214
214
  },
215
215
  "classSource": {
216
216
  "description": "Used in subclass data",
217
- "type": "string"
217
+ "$ref": "../util.json#/$defs/source"
218
218
  },
219
219
  "_mod": {
220
220
  "$ref": "../util.json#/$defs/_modObject"
@@ -226,7 +226,7 @@
226
226
  "type": "string"
227
227
  },
228
228
  "source": {
229
- "type": "string"
229
+ "$ref": "../util.json#/$defs/source"
230
230
  }
231
231
  },
232
232
  "required": [
@@ -22,7 +22,7 @@
22
22
  "description": "An ID that will be used to refer to this book in tags."
23
23
  },
24
24
  "source": {
25
- "type": "string"
25
+ "$ref": "util.json#/$defs/source"
26
26
  },
27
27
  "legacy": {
28
28
  "$ref": "util.json#/$defs/legacy"
@@ -29,7 +29,7 @@
29
29
  }
30
30
  },
31
31
  "source": {
32
- "type": "string"
32
+ "$ref": "util.json#/$defs/source"
33
33
  },
34
34
  "page": {
35
35
  "$ref": "util.json#/$defs/page"