5etools-utils 0.16.35 → 0.16.37

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.16.35",
3
+ "version": "0.16.37",
4
4
  "description": "Shared utilities for the 5etools ecosystem.",
5
5
  "type": "module",
6
6
  "main": "lib/Api.js",
@@ -1,9 +1,124 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "decks.json",
4
- "version": "1.0.7",
4
+ "version": "1.1.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
+ "_deckSpreadOutcomesCardMap": {
8
+ "type": "object",
9
+ "propertyNames": {
10
+ "pattern": "^[^A-Z|]+\\|[^A-Z|]+\\|[^A-Z|]+$"
11
+ },
12
+ "additionalProperties": {
13
+ "type": "string"
14
+ },
15
+ "minProperties": 1
16
+ },
17
+ "_deckSpreadOutcomesCorpusMap": {
18
+ "type": "object",
19
+ "additionalProperties": {
20
+ "$ref": "#/$defs/_deckSpreadOutcomesCardMap"
21
+ },
22
+ "minProperties": 1
23
+ },
24
+ "_deckSpreadOutcomes": {
25
+ "type": "object",
26
+ "properties": {
27
+ "adventure": {
28
+ "$ref": "#/$defs/_deckSpreadOutcomesCorpusMap"
29
+ },
30
+ "book": {
31
+ "$ref": "#/$defs/_deckSpreadOutcomesCorpusMap"
32
+ }
33
+ },
34
+ "minProperties": 1,
35
+ "additionalProperties": false
36
+ },
37
+ "_deckSpreadSeeAlsoHeader": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "string",
41
+ "description": "UIDs of adventure/book headers to be linked as a footnote.\n\nE.g. \"Fortunes of Ravenloft|CoS|2|Fortunes of Ravenloft\".",
42
+ "markdownDescription": "UIDs of adventure/book headers to be linked as a footnote.\n\nE.g. "Fortunes of Ravenloft|CoS|2|Fortunes of Ravenloft"."
43
+ },
44
+ "minItems": 1,
45
+ "uniqueItems": true
46
+ },
47
+ "_deckSpreadPosition": {
48
+ "type": "object",
49
+ "properties": {
50
+ "name": {
51
+ "type": "string"
52
+ },
53
+ "entries": {
54
+ "type": "array",
55
+ "items": {
56
+ "$ref": "entry.json"
57
+ },
58
+ "minItems": 1
59
+ },
60
+ "suits": {
61
+ "$comment": "The suits this position may draw from; \"None\" matches cards which have no suit. Omit to draw from the whole deck.",
62
+ "type": "array",
63
+ "items": {
64
+ "type": "string"
65
+ },
66
+ "minItems": 1,
67
+ "uniqueItems": true
68
+ },
69
+ "outcomes": {
70
+ "$comment": "Card outcomes specific to this position. These override spread-level outcomes.",
71
+ "$ref": "#/$defs/_deckSpreadOutcomes"
72
+ }
73
+ },
74
+ "required": [
75
+ "entries"
76
+ ],
77
+ "additionalProperties": false
78
+ },
79
+ "_deckSpread": {
80
+ "type": "object",
81
+ "properties": {
82
+ "name": {
83
+ "type": "string"
84
+ },
85
+ "source": {
86
+ "$ref": "util.json#/$defs/source"
87
+ },
88
+ "page": {
89
+ "$ref": "util.json#/$defs/page"
90
+ },
91
+ "entries": {
92
+ "type": "array",
93
+ "items": {
94
+ "$ref": "entry.json"
95
+ }
96
+ },
97
+ "seeAlsoAdventureHeader": {
98
+ "$ref": "#/$defs/_deckSpreadSeeAlsoHeader"
99
+ },
100
+ "seeAlsoBookHeader": {
101
+ "$ref": "#/$defs/_deckSpreadSeeAlsoHeader"
102
+ },
103
+ "positions": {
104
+ "type": "array",
105
+ "items": {
106
+ "$ref": "#/$defs/_deckSpreadPosition"
107
+ },
108
+ "minItems": 1
109
+ },
110
+ "outcomes": {
111
+ "$comment": "Card outcomes shared by all positions.",
112
+ "$ref": "#/$defs/_deckSpreadOutcomes"
113
+ }
114
+ },
115
+ "required": [
116
+ "name",
117
+ "source",
118
+ "positions"
119
+ ],
120
+ "additionalProperties": false
121
+ },
7
122
  "deckData": {
8
123
  "type": "object",
9
124
  "properties": {
@@ -65,6 +180,14 @@
65
180
  "$ref": "entry.json"
66
181
  }
67
182
  },
183
+ "spreads": {
184
+ "type": "array",
185
+ "items": {
186
+ "$ref": "#/$defs/_deckSpread"
187
+ },
188
+ "minItems": 1,
189
+ "uniqueItems": true
190
+ },
68
191
  "back": {
69
192
  "$ref": "entry.json#/$defs/entryImage"
70
193
  },
@@ -139,6 +262,14 @@
139
262
  "$ref": "entry.json"
140
263
  }
141
264
  },
265
+ "spreads": {
266
+ "type": "array",
267
+ "items": {
268
+ "$ref": "#/$defs/_deckSpread"
269
+ },
270
+ "minItems": 1,
271
+ "uniqueItems": true
272
+ },
142
273
  "back": {
143
274
  "$ref": "entry.json#/$defs/entryImage"
144
275
  },
@@ -216,6 +347,14 @@
216
347
  "$ref": "entry.json"
217
348
  }
218
349
  },
350
+ "spreads": {
351
+ "type": "array",
352
+ "items": {
353
+ "$ref": "#/$defs/_deckSpread"
354
+ },
355
+ "minItems": 1,
356
+ "uniqueItems": true
357
+ },
219
358
  "back": {
220
359
  "$ref": "entry.json#/$defs/entryImage"
221
360
  },
@@ -3,7 +3,7 @@
3
3
  "$id": "entry.json",
4
4
  "title": "Entry",
5
5
  "description": "A recursively renderable object.",
6
- "version": "1.10.00",
6
+ "version": "1.10.1",
7
7
  "$defs": {
8
8
  "_arrayOfSpell": {
9
9
  "type": "array",
@@ -3796,34 +3796,76 @@
3796
3796
  "additionalProperties": false
3797
3797
  },
3798
3798
  "entryWrapped": {
3799
- "type": "object",
3800
- "properties": {
3801
- "name": {
3802
- "type": "string"
3803
- },
3804
- "type": {
3805
- "type": "string",
3806
- "const": "wrapper"
3807
- },
3808
- "source": {
3809
- "$ref": "util.json#/$defs/source"
3810
- },
3811
- "page": {
3812
- "$ref": "util.json#/$defs/page"
3813
- },
3814
- "data": {
3815
- "$ref": "#/$defs/_entryDataData"
3816
- },
3817
- "id": {
3818
- "type": "string"
3799
+ "oneOf": [
3800
+ {
3801
+ "type": "object",
3802
+ "properties": {
3803
+ "name": {
3804
+ "type": "string"
3805
+ },
3806
+ "type": {
3807
+ "type": "string",
3808
+ "const": "wrapper"
3809
+ },
3810
+ "source": {
3811
+ "$ref": "util.json#/$defs/source"
3812
+ },
3813
+ "page": {
3814
+ "$ref": "util.json#/$defs/page"
3815
+ },
3816
+ "data": {
3817
+ "$ref": "#/$defs/_entryDataData"
3818
+ },
3819
+ "id": {
3820
+ "type": "string"
3821
+ },
3822
+ "wrapped": {
3823
+ "$ref": "#"
3824
+ }
3825
+ },
3826
+ "required": [
3827
+ "type",
3828
+ "wrapped"
3829
+ ],
3830
+ "additionalProperties": false
3819
3831
  },
3820
- "wrapped": {}
3821
- },
3822
- "required": [
3823
- "type",
3824
- "wrapped"
3825
- ],
3826
- "additionalProperties": false
3832
+ {
3833
+ "type": "object",
3834
+ "properties": {
3835
+ "name": {
3836
+ "type": "string"
3837
+ },
3838
+ "type": {
3839
+ "type": "string",
3840
+ "const": "wrapper"
3841
+ },
3842
+ "source": {
3843
+ "$ref": "util.json#/$defs/source"
3844
+ },
3845
+ "page": {
3846
+ "$ref": "util.json#/$defs/page"
3847
+ },
3848
+ "data": {
3849
+ "$ref": "#/$defs/_entryDataData"
3850
+ },
3851
+ "id": {
3852
+ "type": "string"
3853
+ },
3854
+ "wrappeds": {
3855
+ "type": "array",
3856
+ "items": {
3857
+ "$ref": "#"
3858
+ },
3859
+ "minItems": 1
3860
+ }
3861
+ },
3862
+ "required": [
3863
+ "type",
3864
+ "wrappeds"
3865
+ ],
3866
+ "additionalProperties": false
3867
+ }
3868
+ ]
3827
3869
  },
3828
3870
  "dataDamImmune": {
3829
3871
  "oneOf": [
@@ -1,9 +1,124 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "decks.json",
4
- "version": "1.0.7",
4
+ "version": "1.1.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
+ "_deckSpreadOutcomesCardMap": {
8
+ "type": "object",
9
+ "propertyNames": {
10
+ "pattern": "^[^A-Z|]+\\|[^A-Z|]+\\|[^A-Z|]+$"
11
+ },
12
+ "additionalProperties": {
13
+ "type": "string"
14
+ },
15
+ "minProperties": 1
16
+ },
17
+ "_deckSpreadOutcomesCorpusMap": {
18
+ "type": "object",
19
+ "additionalProperties": {
20
+ "$ref": "#/$defs/_deckSpreadOutcomesCardMap"
21
+ },
22
+ "minProperties": 1
23
+ },
24
+ "_deckSpreadOutcomes": {
25
+ "type": "object",
26
+ "properties": {
27
+ "adventure": {
28
+ "$ref": "#/$defs/_deckSpreadOutcomesCorpusMap"
29
+ },
30
+ "book": {
31
+ "$ref": "#/$defs/_deckSpreadOutcomesCorpusMap"
32
+ }
33
+ },
34
+ "minProperties": 1,
35
+ "additionalProperties": false
36
+ },
37
+ "_deckSpreadSeeAlsoHeader": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "string",
41
+ "description": "UIDs of adventure/book headers to be linked as a footnote.\n\nE.g. \"Fortunes of Ravenloft|CoS|2|Fortunes of Ravenloft\".",
42
+ "markdownDescription": "UIDs of adventure/book headers to be linked as a footnote.\n\nE.g. "Fortunes of Ravenloft|CoS|2|Fortunes of Ravenloft"."
43
+ },
44
+ "minItems": 1,
45
+ "uniqueItems": true
46
+ },
47
+ "_deckSpreadPosition": {
48
+ "type": "object",
49
+ "properties": {
50
+ "name": {
51
+ "type": "string"
52
+ },
53
+ "entries": {
54
+ "type": "array",
55
+ "items": {
56
+ "$ref": "entry.json"
57
+ },
58
+ "minItems": 1
59
+ },
60
+ "suits": {
61
+ "$comment": "The suits this position may draw from; \"None\" matches cards which have no suit. Omit to draw from the whole deck.",
62
+ "type": "array",
63
+ "items": {
64
+ "type": "string"
65
+ },
66
+ "minItems": 1,
67
+ "uniqueItems": true
68
+ },
69
+ "outcomes": {
70
+ "$comment": "Card outcomes specific to this position. These override spread-level outcomes.",
71
+ "$ref": "#/$defs/_deckSpreadOutcomes"
72
+ }
73
+ },
74
+ "required": [
75
+ "entries"
76
+ ],
77
+ "additionalProperties": false
78
+ },
79
+ "_deckSpread": {
80
+ "type": "object",
81
+ "properties": {
82
+ "name": {
83
+ "type": "string"
84
+ },
85
+ "source": {
86
+ "$ref": "util.json#/$defs/source"
87
+ },
88
+ "page": {
89
+ "$ref": "util.json#/$defs/page"
90
+ },
91
+ "entries": {
92
+ "type": "array",
93
+ "items": {
94
+ "$ref": "entry.json"
95
+ }
96
+ },
97
+ "seeAlsoAdventureHeader": {
98
+ "$ref": "#/$defs/_deckSpreadSeeAlsoHeader"
99
+ },
100
+ "seeAlsoBookHeader": {
101
+ "$ref": "#/$defs/_deckSpreadSeeAlsoHeader"
102
+ },
103
+ "positions": {
104
+ "type": "array",
105
+ "items": {
106
+ "$ref": "#/$defs/_deckSpreadPosition"
107
+ },
108
+ "minItems": 1
109
+ },
110
+ "outcomes": {
111
+ "$comment": "Card outcomes shared by all positions.",
112
+ "$ref": "#/$defs/_deckSpreadOutcomes"
113
+ }
114
+ },
115
+ "required": [
116
+ "name",
117
+ "source",
118
+ "positions"
119
+ ],
120
+ "additionalProperties": false
121
+ },
7
122
  "deckData": {
8
123
  "type": "object",
9
124
  "properties": {
@@ -65,6 +180,14 @@
65
180
  "$ref": "entry.json"
66
181
  }
67
182
  },
183
+ "spreads": {
184
+ "type": "array",
185
+ "items": {
186
+ "$ref": "#/$defs/_deckSpread"
187
+ },
188
+ "minItems": 1,
189
+ "uniqueItems": true
190
+ },
68
191
  "back": {
69
192
  "$ref": "entry.json#/$defs/entryImage"
70
193
  },
@@ -139,6 +262,14 @@
139
262
  "$ref": "entry.json"
140
263
  }
141
264
  },
265
+ "spreads": {
266
+ "type": "array",
267
+ "items": {
268
+ "$ref": "#/$defs/_deckSpread"
269
+ },
270
+ "minItems": 1,
271
+ "uniqueItems": true
272
+ },
142
273
  "back": {
143
274
  "$ref": "entry.json#/$defs/entryImage"
144
275
  },
@@ -216,6 +347,14 @@
216
347
  "$ref": "entry.json"
217
348
  }
218
349
  },
350
+ "spreads": {
351
+ "type": "array",
352
+ "items": {
353
+ "$ref": "#/$defs/_deckSpread"
354
+ },
355
+ "minItems": 1,
356
+ "uniqueItems": true
357
+ },
219
358
  "back": {
220
359
  "$ref": "entry.json#/$defs/entryImage"
221
360
  },
@@ -3,7 +3,7 @@
3
3
  "$id": "entry.json",
4
4
  "title": "Entry",
5
5
  "description": "A recursively renderable object.",
6
- "version": "1.10.00",
6
+ "version": "1.10.1",
7
7
  "$defs": {
8
8
  "_arrayOfSpell": {
9
9
  "type": "array",
@@ -3796,34 +3796,76 @@
3796
3796
  "additionalProperties": false
3797
3797
  },
3798
3798
  "entryWrapped": {
3799
- "type": "object",
3800
- "properties": {
3801
- "name": {
3802
- "type": "string"
3803
- },
3804
- "type": {
3805
- "type": "string",
3806
- "const": "wrapper"
3807
- },
3808
- "source": {
3809
- "$ref": "util.json#/$defs/source"
3810
- },
3811
- "page": {
3812
- "$ref": "util.json#/$defs/page"
3813
- },
3814
- "data": {
3815
- "$ref": "#/$defs/_entryDataData"
3816
- },
3817
- "id": {
3818
- "type": "string"
3799
+ "oneOf": [
3800
+ {
3801
+ "type": "object",
3802
+ "properties": {
3803
+ "name": {
3804
+ "type": "string"
3805
+ },
3806
+ "type": {
3807
+ "type": "string",
3808
+ "const": "wrapper"
3809
+ },
3810
+ "source": {
3811
+ "$ref": "util.json#/$defs/source"
3812
+ },
3813
+ "page": {
3814
+ "$ref": "util.json#/$defs/page"
3815
+ },
3816
+ "data": {
3817
+ "$ref": "#/$defs/_entryDataData"
3818
+ },
3819
+ "id": {
3820
+ "type": "string"
3821
+ },
3822
+ "wrapped": {
3823
+ "$ref": "#"
3824
+ }
3825
+ },
3826
+ "required": [
3827
+ "type",
3828
+ "wrapped"
3829
+ ],
3830
+ "additionalProperties": false
3819
3831
  },
3820
- "wrapped": {}
3821
- },
3822
- "required": [
3823
- "type",
3824
- "wrapped"
3825
- ],
3826
- "additionalProperties": false
3832
+ {
3833
+ "type": "object",
3834
+ "properties": {
3835
+ "name": {
3836
+ "type": "string"
3837
+ },
3838
+ "type": {
3839
+ "type": "string",
3840
+ "const": "wrapper"
3841
+ },
3842
+ "source": {
3843
+ "$ref": "util.json#/$defs/source"
3844
+ },
3845
+ "page": {
3846
+ "$ref": "util.json#/$defs/page"
3847
+ },
3848
+ "data": {
3849
+ "$ref": "#/$defs/_entryDataData"
3850
+ },
3851
+ "id": {
3852
+ "type": "string"
3853
+ },
3854
+ "wrappeds": {
3855
+ "type": "array",
3856
+ "items": {
3857
+ "$ref": "#"
3858
+ },
3859
+ "minItems": 1
3860
+ }
3861
+ },
3862
+ "required": [
3863
+ "type",
3864
+ "wrappeds"
3865
+ ],
3866
+ "additionalProperties": false
3867
+ }
3868
+ ]
3827
3869
  },
3828
3870
  "dataDamImmune": {
3829
3871
  "oneOf": [