5etools-utils 0.9.45 → 0.9.47

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "5etools-utils",
3
- "version": "0.9.45",
3
+ "version": "0.9.47",
4
4
  "description": "Shared utilities for the 5etools ecosystem.",
5
5
  "type": "module",
6
6
  "main": "lib/Api.js",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.2",
4
+ "version": "1.6.3",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "feat": {
@@ -43,6 +43,13 @@
43
43
  "repeatableNote": {
44
44
  "type": "string"
45
45
  },
46
+ "category": {
47
+ "type": "string",
48
+ "examples": [
49
+ "general",
50
+ "background"
51
+ ]
52
+ },
46
53
  "additionalSpells": {
47
54
  "$ref": "util.json#/$defs/additionalSpellsArray"
48
55
  },
@@ -309,36 +309,78 @@
309
309
  "uniqueItems": true
310
310
  },
311
311
  "_spellListItem": {
312
- "type": "object",
313
- "properties": {
314
- "name": {
315
- "type": "string"
316
- },
317
- "source": {
318
- "$ref": "util.json#/$defs/source"
319
- },
320
- "spellListType": {
321
- "type": "string",
322
- "enum": [
323
- "groups"
324
- ]
312
+ "oneOf": [
313
+ {
314
+ "type": "object",
315
+ "properties": {
316
+ "name": {
317
+ "type": "string"
318
+ },
319
+ "source": {
320
+ "$ref": "util.json#/$defs/source"
321
+ },
322
+ "spellListType": {
323
+ "type": "string",
324
+ "enum": [
325
+ "groups"
326
+ ]
327
+ },
328
+ "spells": {
329
+ "type": "array",
330
+ "items": {
331
+ "$ref": "util.json#/$defs/spellListSpellRef"
332
+ },
333
+ "minItems": 1,
334
+ "uniqueItems": true
335
+ }
336
+ },
337
+ "required": [
338
+ "name",
339
+ "source",
340
+ "spellListType",
341
+ "spells"
342
+ ],
343
+ "additionalProperties": false
325
344
  },
326
- "spells": {
327
- "type": "array",
328
- "items": {
329
- "$ref": "util.json#/$defs/spellListSpellRef"
345
+ {
346
+ "type": "object",
347
+ "properties": {
348
+ "name": {
349
+ "type": "string"
350
+ },
351
+ "source": {
352
+ "$ref": "util.json#/$defs/source"
353
+ },
354
+ "spellListType": {
355
+ "type": "string",
356
+ "const": "variantClass"
357
+ },
358
+ "className": {
359
+ "type": "string"
360
+ },
361
+ "classSource": {
362
+ "$ref": "util.json#/$defs/source"
363
+ },
364
+ "spells": {
365
+ "type": "array",
366
+ "items": {
367
+ "$ref": "util.json#/$defs/spellListSpellRef"
368
+ },
369
+ "minItems": 1,
370
+ "uniqueItems": true
371
+ }
330
372
  },
331
- "minItems": 1,
332
- "uniqueItems": true
373
+ "required": [
374
+ "name",
375
+ "source",
376
+ "spellListType",
377
+ "className",
378
+ "classSource",
379
+ "spells"
380
+ ],
381
+ "additionalProperties": false
333
382
  }
334
- },
335
- "required": [
336
- "name",
337
- "source",
338
- "spellListType",
339
- "spells"
340
- ],
341
- "additionalProperties": false
383
+ ]
342
384
  }
343
385
  },
344
386
  "properties": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "recipes.json",
4
- "version": "1.5.3",
4
+ "version": "1.5.4",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -16,6 +16,9 @@
16
16
  "source": {
17
17
  "$ref": "util.json#/$defs/source"
18
18
  },
19
+ "otherSources": {
20
+ "$ref": "util.json#/$defs/otherSources"
21
+ },
19
22
  "page": {
20
23
  "$ref": "util.json#/$defs/page"
21
24
  },
@@ -202,6 +205,9 @@
202
205
  "source": {
203
206
  "$ref": "util.json#/$defs/source"
204
207
  },
208
+ "otherSources": {
209
+ "$ref": "util.json#/$defs/otherSources"
210
+ },
205
211
  "page": {
206
212
  "$ref": "util.json#/$defs/page"
207
213
  },
@@ -392,6 +398,9 @@
392
398
  "source": {
393
399
  "$ref": "util.json#/$defs/source"
394
400
  },
401
+ "otherSources": {
402
+ "$ref": "util.json#/$defs/otherSources"
403
+ },
395
404
  "page": {
396
405
  "$ref": "util.json#/$defs/page"
397
406
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.2",
4
+ "version": "1.6.3",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "feat": {
@@ -43,6 +43,13 @@
43
43
  "repeatableNote": {
44
44
  "type": "string"
45
45
  },
46
+ "category": {
47
+ "type": "string",
48
+ "examples": [
49
+ "general",
50
+ "background"
51
+ ]
52
+ },
46
53
  "additionalSpells": {
47
54
  "$ref": "util.json#/$defs/additionalSpellsArray"
48
55
  },
@@ -307,36 +307,78 @@
307
307
  "uniqueItems": true
308
308
  },
309
309
  "_spellListItem": {
310
- "type": "object",
311
- "properties": {
312
- "name": {
313
- "type": "string"
314
- },
315
- "source": {
316
- "$ref": "util.json#/$defs/source"
317
- },
318
- "spellListType": {
319
- "type": "string",
320
- "enum": [
321
- "groups"
322
- ]
310
+ "oneOf": [
311
+ {
312
+ "type": "object",
313
+ "properties": {
314
+ "name": {
315
+ "type": "string"
316
+ },
317
+ "source": {
318
+ "$ref": "util.json#/$defs/source"
319
+ },
320
+ "spellListType": {
321
+ "type": "string",
322
+ "enum": [
323
+ "groups"
324
+ ]
325
+ },
326
+ "spells": {
327
+ "type": "array",
328
+ "items": {
329
+ "$ref": "util.json#/$defs/spellListSpellRef"
330
+ },
331
+ "minItems": 1,
332
+ "uniqueItems": true
333
+ }
334
+ },
335
+ "required": [
336
+ "name",
337
+ "source",
338
+ "spellListType",
339
+ "spells"
340
+ ],
341
+ "additionalProperties": false
323
342
  },
324
- "spells": {
325
- "type": "array",
326
- "items": {
327
- "$ref": "util.json#/$defs/spellListSpellRef"
343
+ {
344
+ "type": "object",
345
+ "properties": {
346
+ "name": {
347
+ "type": "string"
348
+ },
349
+ "source": {
350
+ "$ref": "util.json#/$defs/source"
351
+ },
352
+ "spellListType": {
353
+ "type": "string",
354
+ "const": "variantClass"
355
+ },
356
+ "className": {
357
+ "type": "string"
358
+ },
359
+ "classSource": {
360
+ "$ref": "util.json#/$defs/source"
361
+ },
362
+ "spells": {
363
+ "type": "array",
364
+ "items": {
365
+ "$ref": "util.json#/$defs/spellListSpellRef"
366
+ },
367
+ "minItems": 1,
368
+ "uniqueItems": true
369
+ }
328
370
  },
329
- "minItems": 1,
330
- "uniqueItems": true
371
+ "required": [
372
+ "name",
373
+ "source",
374
+ "spellListType",
375
+ "className",
376
+ "classSource",
377
+ "spells"
378
+ ],
379
+ "additionalProperties": false
331
380
  }
332
- },
333
- "required": [
334
- "name",
335
- "source",
336
- "spellListType",
337
- "spells"
338
- ],
339
- "additionalProperties": false
381
+ ]
340
382
  }
341
383
  },
342
384
  "properties": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "recipes.json",
4
- "version": "1.5.3",
4
+ "version": "1.5.4",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -16,6 +16,9 @@
16
16
  "source": {
17
17
  "$ref": "util.json#/$defs/source"
18
18
  },
19
+ "otherSources": {
20
+ "$ref": "util.json#/$defs/otherSources"
21
+ },
19
22
  "page": {
20
23
  "$ref": "util.json#/$defs/page"
21
24
  },
@@ -202,6 +205,9 @@
202
205
  "source": {
203
206
  "$ref": "util.json#/$defs/source"
204
207
  },
208
+ "otherSources": {
209
+ "$ref": "util.json#/$defs/otherSources"
210
+ },
205
211
  "page": {
206
212
  "$ref": "util.json#/$defs/page"
207
213
  },
@@ -392,6 +398,9 @@
392
398
  "source": {
393
399
  "$ref": "util.json#/$defs/source"
394
400
  },
401
+ "otherSources": {
402
+ "$ref": "util.json#/$defs/otherSources"
403
+ },
395
404
  "page": {
396
405
  "$ref": "util.json#/$defs/page"
397
406
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.2",
4
+ "version": "1.6.3",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "feat": {
@@ -43,6 +43,13 @@
43
43
  "repeatableNote": {
44
44
  "type": "string"
45
45
  },
46
+ "category": {
47
+ "type": "string",
48
+ "enum": [
49
+ "general",
50
+ "background"
51
+ ]
52
+ },
46
53
  "additionalSpells": {
47
54
  "$ref": "util.json#/$defs/additionalSpellsArray"
48
55
  },
@@ -309,36 +309,78 @@
309
309
  "uniqueItems": true
310
310
  },
311
311
  "_spellListItem": {
312
- "type": "object",
313
- "properties": {
314
- "name": {
315
- "type": "string"
316
- },
317
- "source": {
318
- "$ref": "util.json#/$defs/source"
319
- },
320
- "spellListType": {
321
- "type": "string",
322
- "enum": [
323
- "groups"
324
- ]
312
+ "oneOf": [
313
+ {
314
+ "type": "object",
315
+ "properties": {
316
+ "name": {
317
+ "type": "string"
318
+ },
319
+ "source": {
320
+ "$ref": "util.json#/$defs/source"
321
+ },
322
+ "spellListType": {
323
+ "type": "string",
324
+ "enum": [
325
+ "groups"
326
+ ]
327
+ },
328
+ "spells": {
329
+ "type": "array",
330
+ "items": {
331
+ "$ref": "util.json#/$defs/spellListSpellRef"
332
+ },
333
+ "minItems": 1,
334
+ "uniqueItems": true
335
+ }
336
+ },
337
+ "required": [
338
+ "name",
339
+ "source",
340
+ "spellListType",
341
+ "spells"
342
+ ],
343
+ "additionalProperties": false
325
344
  },
326
- "spells": {
327
- "type": "array",
328
- "items": {
329
- "$ref": "util.json#/$defs/spellListSpellRef"
345
+ {
346
+ "type": "object",
347
+ "properties": {
348
+ "name": {
349
+ "type": "string"
350
+ },
351
+ "source": {
352
+ "$ref": "util.json#/$defs/source"
353
+ },
354
+ "spellListType": {
355
+ "type": "string",
356
+ "const": "variantClass"
357
+ },
358
+ "className": {
359
+ "type": "string"
360
+ },
361
+ "classSource": {
362
+ "$ref": "util.json#/$defs/source"
363
+ },
364
+ "spells": {
365
+ "type": "array",
366
+ "items": {
367
+ "$ref": "util.json#/$defs/spellListSpellRef"
368
+ },
369
+ "minItems": 1,
370
+ "uniqueItems": true
371
+ }
330
372
  },
331
- "minItems": 1,
332
- "uniqueItems": true
373
+ "required": [
374
+ "name",
375
+ "source",
376
+ "spellListType",
377
+ "className",
378
+ "classSource",
379
+ "spells"
380
+ ],
381
+ "additionalProperties": false
333
382
  }
334
- },
335
- "required": [
336
- "name",
337
- "source",
338
- "spellListType",
339
- "spells"
340
- ],
341
- "additionalProperties": false
383
+ ]
342
384
  }
343
385
  },
344
386
  "properties": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "recipes.json",
4
- "version": "1.5.3",
4
+ "version": "1.5.4",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -16,6 +16,9 @@
16
16
  "source": {
17
17
  "$ref": "util.json#/$defs/source"
18
18
  },
19
+ "otherSources": {
20
+ "$ref": "util.json#/$defs/otherSources"
21
+ },
19
22
  "page": {
20
23
  "$ref": "util.json#/$defs/page"
21
24
  },
@@ -202,6 +205,9 @@
202
205
  "source": {
203
206
  "$ref": "util.json#/$defs/source"
204
207
  },
208
+ "otherSources": {
209
+ "$ref": "util.json#/$defs/otherSources"
210
+ },
205
211
  "page": {
206
212
  "$ref": "util.json#/$defs/page"
207
213
  },
@@ -392,6 +398,9 @@
392
398
  "source": {
393
399
  "$ref": "util.json#/$defs/source"
394
400
  },
401
+ "otherSources": {
402
+ "$ref": "util.json#/$defs/otherSources"
403
+ },
395
404
  "page": {
396
405
  "$ref": "util.json#/$defs/page"
397
406
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.2",
4
+ "version": "1.6.3",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "feat": {
@@ -43,6 +43,13 @@
43
43
  "repeatableNote": {
44
44
  "type": "string"
45
45
  },
46
+ "category": {
47
+ "type": "string",
48
+ "enum": [
49
+ "general",
50
+ "background"
51
+ ]
52
+ },
46
53
  "additionalSpells": {
47
54
  "$ref": "util.json#/$defs/additionalSpellsArray"
48
55
  },
@@ -307,36 +307,78 @@
307
307
  "uniqueItems": true
308
308
  },
309
309
  "_spellListItem": {
310
- "type": "object",
311
- "properties": {
312
- "name": {
313
- "type": "string"
314
- },
315
- "source": {
316
- "$ref": "util.json#/$defs/source"
317
- },
318
- "spellListType": {
319
- "type": "string",
320
- "enum": [
321
- "groups"
322
- ]
310
+ "oneOf": [
311
+ {
312
+ "type": "object",
313
+ "properties": {
314
+ "name": {
315
+ "type": "string"
316
+ },
317
+ "source": {
318
+ "$ref": "util.json#/$defs/source"
319
+ },
320
+ "spellListType": {
321
+ "type": "string",
322
+ "enum": [
323
+ "groups"
324
+ ]
325
+ },
326
+ "spells": {
327
+ "type": "array",
328
+ "items": {
329
+ "$ref": "util.json#/$defs/spellListSpellRef"
330
+ },
331
+ "minItems": 1,
332
+ "uniqueItems": true
333
+ }
334
+ },
335
+ "required": [
336
+ "name",
337
+ "source",
338
+ "spellListType",
339
+ "spells"
340
+ ],
341
+ "additionalProperties": false
323
342
  },
324
- "spells": {
325
- "type": "array",
326
- "items": {
327
- "$ref": "util.json#/$defs/spellListSpellRef"
343
+ {
344
+ "type": "object",
345
+ "properties": {
346
+ "name": {
347
+ "type": "string"
348
+ },
349
+ "source": {
350
+ "$ref": "util.json#/$defs/source"
351
+ },
352
+ "spellListType": {
353
+ "type": "string",
354
+ "const": "variantClass"
355
+ },
356
+ "className": {
357
+ "type": "string"
358
+ },
359
+ "classSource": {
360
+ "$ref": "util.json#/$defs/source"
361
+ },
362
+ "spells": {
363
+ "type": "array",
364
+ "items": {
365
+ "$ref": "util.json#/$defs/spellListSpellRef"
366
+ },
367
+ "minItems": 1,
368
+ "uniqueItems": true
369
+ }
328
370
  },
329
- "minItems": 1,
330
- "uniqueItems": true
371
+ "required": [
372
+ "name",
373
+ "source",
374
+ "spellListType",
375
+ "className",
376
+ "classSource",
377
+ "spells"
378
+ ],
379
+ "additionalProperties": false
331
380
  }
332
- },
333
- "required": [
334
- "name",
335
- "source",
336
- "spellListType",
337
- "spells"
338
- ],
339
- "additionalProperties": false
381
+ ]
340
382
  }
341
383
  },
342
384
  "properties": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "recipes.json",
4
- "version": "1.5.3",
4
+ "version": "1.5.4",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -16,6 +16,9 @@
16
16
  "source": {
17
17
  "$ref": "util.json#/$defs/source"
18
18
  },
19
+ "otherSources": {
20
+ "$ref": "util.json#/$defs/otherSources"
21
+ },
19
22
  "page": {
20
23
  "$ref": "util.json#/$defs/page"
21
24
  },
@@ -202,6 +205,9 @@
202
205
  "source": {
203
206
  "$ref": "util.json#/$defs/source"
204
207
  },
208
+ "otherSources": {
209
+ "$ref": "util.json#/$defs/otherSources"
210
+ },
205
211
  "page": {
206
212
  "$ref": "util.json#/$defs/page"
207
213
  },
@@ -392,6 +398,9 @@
392
398
  "source": {
393
399
  "$ref": "util.json#/$defs/source"
394
400
  },
401
+ "otherSources": {
402
+ "$ref": "util.json#/$defs/otherSources"
403
+ },
395
404
  "page": {
396
405
  "$ref": "util.json#/$defs/page"
397
406
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.2",
4
+ "version": "1.6.3",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "feat": {
@@ -43,6 +43,13 @@
43
43
  "repeatableNote": {
44
44
  "type": "string"
45
45
  },
46
+ "category": {
47
+ "type": "string",
48
+ "enum": [
49
+ "general",
50
+ "background"
51
+ ]
52
+ },
46
53
  "additionalSpells": {
47
54
  "$ref": "util.json#/$defs/additionalSpellsArray"
48
55
  },
@@ -309,36 +309,78 @@
309
309
  "uniqueItems": true
310
310
  },
311
311
  "_spellListItem": {
312
- "type": "object",
313
- "properties": {
314
- "name": {
315
- "type": "string"
316
- },
317
- "source": {
318
- "$ref": "util.json#/$defs/source"
319
- },
320
- "spellListType": {
321
- "type": "string",
322
- "enum": [
323
- "groups"
324
- ]
312
+ "oneOf": [
313
+ {
314
+ "type": "object",
315
+ "properties": {
316
+ "name": {
317
+ "type": "string"
318
+ },
319
+ "source": {
320
+ "$ref": "util.json#/$defs/source"
321
+ },
322
+ "spellListType": {
323
+ "type": "string",
324
+ "enum": [
325
+ "groups"
326
+ ]
327
+ },
328
+ "spells": {
329
+ "type": "array",
330
+ "items": {
331
+ "$ref": "util.json#/$defs/spellListSpellRef"
332
+ },
333
+ "minItems": 1,
334
+ "uniqueItems": true
335
+ }
336
+ },
337
+ "required": [
338
+ "name",
339
+ "source",
340
+ "spellListType",
341
+ "spells"
342
+ ],
343
+ "additionalProperties": false
325
344
  },
326
- "spells": {
327
- "type": "array",
328
- "items": {
329
- "$ref": "util.json#/$defs/spellListSpellRef"
345
+ {
346
+ "type": "object",
347
+ "properties": {
348
+ "name": {
349
+ "type": "string"
350
+ },
351
+ "source": {
352
+ "$ref": "util.json#/$defs/source"
353
+ },
354
+ "spellListType": {
355
+ "type": "string",
356
+ "const": "variantClass"
357
+ },
358
+ "className": {
359
+ "type": "string"
360
+ },
361
+ "classSource": {
362
+ "$ref": "util.json#/$defs/source"
363
+ },
364
+ "spells": {
365
+ "type": "array",
366
+ "items": {
367
+ "$ref": "util.json#/$defs/spellListSpellRef"
368
+ },
369
+ "minItems": 1,
370
+ "uniqueItems": true
371
+ }
330
372
  },
331
- "minItems": 1,
332
- "uniqueItems": true
373
+ "required": [
374
+ "name",
375
+ "source",
376
+ "spellListType",
377
+ "className",
378
+ "classSource",
379
+ "spells"
380
+ ],
381
+ "additionalProperties": false
333
382
  }
334
- },
335
- "required": [
336
- "name",
337
- "source",
338
- "spellListType",
339
- "spells"
340
- ],
341
- "additionalProperties": false
383
+ ]
342
384
  }
343
385
  },
344
386
  "properties": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "recipes.json",
4
- "version": "1.5.3",
4
+ "version": "1.5.4",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -16,6 +16,9 @@
16
16
  "source": {
17
17
  "$ref": "util.json#/$defs/source"
18
18
  },
19
+ "otherSources": {
20
+ "$ref": "util.json#/$defs/otherSources"
21
+ },
19
22
  "page": {
20
23
  "$ref": "util.json#/$defs/page"
21
24
  },
@@ -191,6 +194,9 @@
191
194
  "source": {
192
195
  "$ref": "util.json#/$defs/source"
193
196
  },
197
+ "otherSources": {
198
+ "$ref": "util.json#/$defs/otherSources"
199
+ },
194
200
  "page": {
195
201
  "$ref": "util.json#/$defs/page"
196
202
  },
@@ -370,6 +376,9 @@
370
376
  "source": {
371
377
  "$ref": "util.json#/$defs/source"
372
378
  },
379
+ "otherSources": {
380
+ "$ref": "util.json#/$defs/otherSources"
381
+ },
373
382
  "page": {
374
383
  "$ref": "util.json#/$defs/page"
375
384
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.2",
4
+ "version": "1.6.3",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "feat": {
@@ -43,6 +43,13 @@
43
43
  "repeatableNote": {
44
44
  "type": "string"
45
45
  },
46
+ "category": {
47
+ "type": "string",
48
+ "enum": [
49
+ "general",
50
+ "background"
51
+ ]
52
+ },
46
53
  "additionalSpells": {
47
54
  "$ref": "util.json#/$defs/additionalSpellsArray"
48
55
  },
@@ -307,36 +307,78 @@
307
307
  "uniqueItems": true
308
308
  },
309
309
  "_spellListItem": {
310
- "type": "object",
311
- "properties": {
312
- "name": {
313
- "type": "string"
314
- },
315
- "source": {
316
- "$ref": "util.json#/$defs/source"
317
- },
318
- "spellListType": {
319
- "type": "string",
320
- "enum": [
321
- "groups"
322
- ]
310
+ "oneOf": [
311
+ {
312
+ "type": "object",
313
+ "properties": {
314
+ "name": {
315
+ "type": "string"
316
+ },
317
+ "source": {
318
+ "$ref": "util.json#/$defs/source"
319
+ },
320
+ "spellListType": {
321
+ "type": "string",
322
+ "enum": [
323
+ "groups"
324
+ ]
325
+ },
326
+ "spells": {
327
+ "type": "array",
328
+ "items": {
329
+ "$ref": "util.json#/$defs/spellListSpellRef"
330
+ },
331
+ "minItems": 1,
332
+ "uniqueItems": true
333
+ }
334
+ },
335
+ "required": [
336
+ "name",
337
+ "source",
338
+ "spellListType",
339
+ "spells"
340
+ ],
341
+ "additionalProperties": false
323
342
  },
324
- "spells": {
325
- "type": "array",
326
- "items": {
327
- "$ref": "util.json#/$defs/spellListSpellRef"
343
+ {
344
+ "type": "object",
345
+ "properties": {
346
+ "name": {
347
+ "type": "string"
348
+ },
349
+ "source": {
350
+ "$ref": "util.json#/$defs/source"
351
+ },
352
+ "spellListType": {
353
+ "type": "string",
354
+ "const": "variantClass"
355
+ },
356
+ "className": {
357
+ "type": "string"
358
+ },
359
+ "classSource": {
360
+ "$ref": "util.json#/$defs/source"
361
+ },
362
+ "spells": {
363
+ "type": "array",
364
+ "items": {
365
+ "$ref": "util.json#/$defs/spellListSpellRef"
366
+ },
367
+ "minItems": 1,
368
+ "uniqueItems": true
369
+ }
328
370
  },
329
- "minItems": 1,
330
- "uniqueItems": true
371
+ "required": [
372
+ "name",
373
+ "source",
374
+ "spellListType",
375
+ "className",
376
+ "classSource",
377
+ "spells"
378
+ ],
379
+ "additionalProperties": false
331
380
  }
332
- },
333
- "required": [
334
- "name",
335
- "source",
336
- "spellListType",
337
- "spells"
338
- ],
339
- "additionalProperties": false
381
+ ]
340
382
  }
341
383
  },
342
384
  "properties": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "recipes.json",
4
- "version": "1.5.3",
4
+ "version": "1.5.4",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -16,6 +16,9 @@
16
16
  "source": {
17
17
  "$ref": "util.json#/$defs/source"
18
18
  },
19
+ "otherSources": {
20
+ "$ref": "util.json#/$defs/otherSources"
21
+ },
19
22
  "page": {
20
23
  "$ref": "util.json#/$defs/page"
21
24
  },
@@ -191,6 +194,9 @@
191
194
  "source": {
192
195
  "$ref": "util.json#/$defs/source"
193
196
  },
197
+ "otherSources": {
198
+ "$ref": "util.json#/$defs/otherSources"
199
+ },
194
200
  "page": {
195
201
  "$ref": "util.json#/$defs/page"
196
202
  },
@@ -370,6 +376,9 @@
370
376
  "source": {
371
377
  "$ref": "util.json#/$defs/source"
372
378
  },
379
+ "otherSources": {
380
+ "$ref": "util.json#/$defs/otherSources"
381
+ },
373
382
  "page": {
374
383
  "$ref": "util.json#/$defs/page"
375
384
  },