5etools-utils 0.9.16 → 0.9.18

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/lib/UtilClean.js CHANGED
@@ -25,8 +25,8 @@ const _CLEAN_JSON_REPLACEMENTS = {
25
25
  "Nj": "Nj",
26
26
  "nj": "nj",
27
27
  "ſt": "ft",
28
- "“": `"`,
29
- "”": `"`,
28
+ "“": `\\"`,
29
+ "”": `\\"`,
30
30
  "\u201a": ",",
31
31
  };
32
32
  const _CLEAN_JSON_REPLACEMENT_REGEX = new RegExp(Object.keys(_CLEAN_JSON_REPLACEMENTS).join("|"), "g");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "5etools-utils",
3
- "version": "0.9.16",
3
+ "version": "0.9.18",
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": "recipes.json",
4
- "version": "1.4.0",
4
+ "version": "1.5.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -18,19 +18,13 @@
18
18
  },
19
19
  "time": {
20
20
  "type": "object",
21
- "properties": {
22
- "total": {
23
- "$ref": "util-time.json#/$defs/timeMinutes"
24
- },
25
- "cooking": {
26
- "$ref": "util-time.json#/$defs/timeMinutes"
27
- },
28
- "preparation": {
21
+ "additionalProperties": false,
22
+ "minProperties": 1,
23
+ "patternProperties": {
24
+ "^[a-zA-Z ]+$": {
29
25
  "$ref": "util-time.json#/$defs/timeMinutes"
30
26
  }
31
- },
32
- "additionalProperties": false,
33
- "minProperties": 1
27
+ }
34
28
  },
35
29
  "serves": {
36
30
  "oneOf": [
@@ -199,19 +193,13 @@
199
193
  },
200
194
  "time": {
201
195
  "type": "object",
202
- "properties": {
203
- "total": {
204
- "$ref": "util-time.json#/$defs/timeMinutes"
205
- },
206
- "cooking": {
207
- "$ref": "util-time.json#/$defs/timeMinutes"
208
- },
209
- "preparation": {
196
+ "additionalProperties": false,
197
+ "minProperties": 1,
198
+ "patternProperties": {
199
+ "^[a-zA-Z ]+$": {
210
200
  "$ref": "util-time.json#/$defs/timeMinutes"
211
201
  }
212
- },
213
- "additionalProperties": false,
214
- "minProperties": 1
202
+ }
215
203
  },
216
204
  "serves": {
217
205
  "oneOf": [
@@ -384,19 +372,13 @@
384
372
  },
385
373
  "time": {
386
374
  "type": "object",
387
- "properties": {
388
- "total": {
389
- "$ref": "util-time.json#/$defs/timeMinutes"
390
- },
391
- "cooking": {
392
- "$ref": "util-time.json#/$defs/timeMinutes"
393
- },
394
- "preparation": {
375
+ "additionalProperties": false,
376
+ "minProperties": 1,
377
+ "patternProperties": {
378
+ "^[a-zA-Z ]+$": {
395
379
  "$ref": "util-time.json#/$defs/timeMinutes"
396
380
  }
397
- },
398
- "additionalProperties": false,
399
- "minProperties": 1
381
+ }
400
382
  },
401
383
  "serves": {
402
384
  "oneOf": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-time.json",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "title": "Util: Time",
6
6
  "$defs": {
7
7
  "time": {
@@ -31,7 +31,27 @@
31
31
  "additionalProperties": false
32
32
  },
33
33
  "timeMinutes": {
34
- "type": "integer"
34
+ "oneOf": [
35
+ {
36
+ "type": "integer"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "properties": {
41
+ "min": {
42
+ "type": "integer"
43
+ },
44
+ "max": {
45
+ "type": "integer"
46
+ }
47
+ },
48
+ "required": [
49
+ "min",
50
+ "max"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ ]
35
55
  }
36
56
  }
37
57
  }
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.13.35",
6
+ "version": "1.13.36",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -3592,6 +3592,10 @@
3592
3592
  },
3593
3593
  "_mod": {
3594
3594
  "$ref": "#/$defs/_modObject"
3595
+ },
3596
+ "_preserve": {
3597
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3598
+ "$ref": "#/$defs/_preserveObject"
3595
3599
  }
3596
3600
  },
3597
3601
  "required": [
@@ -3613,6 +3617,10 @@
3613
3617
  },
3614
3618
  "_mod": {
3615
3619
  "$ref": "#/$defs/_modObject"
3620
+ },
3621
+ "_preserve": {
3622
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3623
+ "$ref": "#/$defs/_preserveObject"
3616
3624
  }
3617
3625
  },
3618
3626
  "required": [
@@ -3671,6 +3679,14 @@
3671
3679
  }
3672
3680
  }
3673
3681
  },
3682
+ "_preserveObject": {
3683
+ "type": "object",
3684
+ "patternProperties": {
3685
+ ".*": {
3686
+ "const": true
3687
+ }
3688
+ }
3689
+ },
3674
3690
  "srd": {
3675
3691
  "type": [
3676
3692
  "boolean",
@@ -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.4.0",
4
+ "version": "1.5.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -18,19 +18,13 @@
18
18
  },
19
19
  "time": {
20
20
  "type": "object",
21
- "properties": {
22
- "total": {
23
- "$ref": "util-time.json#/$defs/timeMinutes"
24
- },
25
- "cooking": {
26
- "$ref": "util-time.json#/$defs/timeMinutes"
27
- },
28
- "preparation": {
21
+ "additionalProperties": false,
22
+ "minProperties": 1,
23
+ "patternProperties": {
24
+ "^[a-zA-Z ]+$": {
29
25
  "$ref": "util-time.json#/$defs/timeMinutes"
30
26
  }
31
- },
32
- "additionalProperties": false,
33
- "minProperties": 1
27
+ }
34
28
  },
35
29
  "serves": {
36
30
  "oneOf": [
@@ -199,19 +193,13 @@
199
193
  },
200
194
  "time": {
201
195
  "type": "object",
202
- "properties": {
203
- "total": {
204
- "$ref": "util-time.json#/$defs/timeMinutes"
205
- },
206
- "cooking": {
207
- "$ref": "util-time.json#/$defs/timeMinutes"
208
- },
209
- "preparation": {
196
+ "additionalProperties": false,
197
+ "minProperties": 1,
198
+ "patternProperties": {
199
+ "^[a-zA-Z ]+$": {
210
200
  "$ref": "util-time.json#/$defs/timeMinutes"
211
201
  }
212
- },
213
- "additionalProperties": false,
214
- "minProperties": 1
202
+ }
215
203
  },
216
204
  "serves": {
217
205
  "oneOf": [
@@ -384,19 +372,13 @@
384
372
  },
385
373
  "time": {
386
374
  "type": "object",
387
- "properties": {
388
- "total": {
389
- "$ref": "util-time.json#/$defs/timeMinutes"
390
- },
391
- "cooking": {
392
- "$ref": "util-time.json#/$defs/timeMinutes"
393
- },
394
- "preparation": {
375
+ "additionalProperties": false,
376
+ "minProperties": 1,
377
+ "patternProperties": {
378
+ "^[a-zA-Z ]+$": {
395
379
  "$ref": "util-time.json#/$defs/timeMinutes"
396
380
  }
397
- },
398
- "additionalProperties": false,
399
- "minProperties": 1
381
+ }
400
382
  },
401
383
  "serves": {
402
384
  "oneOf": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-time.json",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "title": "Util: Time",
6
6
  "$defs": {
7
7
  "time": {
@@ -31,7 +31,27 @@
31
31
  "additionalProperties": false
32
32
  },
33
33
  "timeMinutes": {
34
- "type": "integer"
34
+ "oneOf": [
35
+ {
36
+ "type": "integer"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "properties": {
41
+ "min": {
42
+ "type": "integer"
43
+ },
44
+ "max": {
45
+ "type": "integer"
46
+ }
47
+ },
48
+ "required": [
49
+ "min",
50
+ "max"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ ]
35
55
  }
36
56
  }
37
57
  }
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.13.35",
6
+ "version": "1.13.36",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -3592,6 +3592,10 @@
3592
3592
  },
3593
3593
  "_mod": {
3594
3594
  "$ref": "#/$defs/_modObject"
3595
+ },
3596
+ "_preserve": {
3597
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3598
+ "$ref": "#/$defs/_preserveObject"
3595
3599
  }
3596
3600
  },
3597
3601
  "required": [
@@ -3613,6 +3617,10 @@
3613
3617
  },
3614
3618
  "_mod": {
3615
3619
  "$ref": "#/$defs/_modObject"
3620
+ },
3621
+ "_preserve": {
3622
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3623
+ "$ref": "#/$defs/_preserveObject"
3616
3624
  }
3617
3625
  },
3618
3626
  "required": [
@@ -3671,6 +3679,14 @@
3671
3679
  }
3672
3680
  }
3673
3681
  },
3682
+ "_preserveObject": {
3683
+ "type": "object",
3684
+ "patternProperties": {
3685
+ ".*": {
3686
+ "const": true
3687
+ }
3688
+ }
3689
+ },
3674
3690
  "srd": {
3675
3691
  "type": [
3676
3692
  "boolean",
@@ -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.4.0",
4
+ "version": "1.5.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -18,6 +18,8 @@
18
18
  },
19
19
  "time": {
20
20
  "type": "object",
21
+ "additionalProperties": false,
22
+ "minProperties": 1,
21
23
  "properties": {
22
24
  "total": {
23
25
  "$ref": "util-time.json#/$defs/timeMinutes"
@@ -28,9 +30,7 @@
28
30
  "preparation": {
29
31
  "$ref": "util-time.json#/$defs/timeMinutes"
30
32
  }
31
- },
32
- "additionalProperties": false,
33
- "minProperties": 1
33
+ }
34
34
  },
35
35
  "serves": {
36
36
  "oneOf": [
@@ -193,6 +193,8 @@
193
193
  },
194
194
  "time": {
195
195
  "type": "object",
196
+ "additionalProperties": false,
197
+ "minProperties": 1,
196
198
  "properties": {
197
199
  "total": {
198
200
  "$ref": "util-time.json#/$defs/timeMinutes"
@@ -203,9 +205,7 @@
203
205
  "preparation": {
204
206
  "$ref": "util-time.json#/$defs/timeMinutes"
205
207
  }
206
- },
207
- "additionalProperties": false,
208
- "minProperties": 1
208
+ }
209
209
  },
210
210
  "serves": {
211
211
  "oneOf": [
@@ -372,6 +372,8 @@
372
372
  },
373
373
  "time": {
374
374
  "type": "object",
375
+ "additionalProperties": false,
376
+ "minProperties": 1,
375
377
  "properties": {
376
378
  "total": {
377
379
  "$ref": "util-time.json#/$defs/timeMinutes"
@@ -382,9 +384,7 @@
382
384
  "preparation": {
383
385
  "$ref": "util-time.json#/$defs/timeMinutes"
384
386
  }
385
- },
386
- "additionalProperties": false,
387
- "minProperties": 1
387
+ }
388
388
  },
389
389
  "serves": {
390
390
  "oneOf": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-time.json",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "title": "Util: Time",
6
6
  "$defs": {
7
7
  "time": {
@@ -31,7 +31,27 @@
31
31
  "additionalProperties": false
32
32
  },
33
33
  "timeMinutes": {
34
- "type": "integer"
34
+ "oneOf": [
35
+ {
36
+ "type": "integer"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "properties": {
41
+ "min": {
42
+ "type": "integer"
43
+ },
44
+ "max": {
45
+ "type": "integer"
46
+ }
47
+ },
48
+ "required": [
49
+ "min",
50
+ "max"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ ]
35
55
  }
36
56
  }
37
57
  }
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.13.35",
6
+ "version": "1.13.36",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -3571,6 +3571,10 @@
3571
3571
  },
3572
3572
  "_mod": {
3573
3573
  "$ref": "#/$defs/_modObject"
3574
+ },
3575
+ "_preserve": {
3576
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3577
+ "$ref": "#/$defs/_preserveObject"
3574
3578
  }
3575
3579
  },
3576
3580
  "required": [
@@ -3592,6 +3596,10 @@
3592
3596
  },
3593
3597
  "_mod": {
3594
3598
  "$ref": "#/$defs/_modObject"
3599
+ },
3600
+ "_preserve": {
3601
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3602
+ "$ref": "#/$defs/_preserveObject"
3595
3603
  }
3596
3604
  },
3597
3605
  "required": [
@@ -3650,6 +3658,14 @@
3650
3658
  }
3651
3659
  }
3652
3660
  },
3661
+ "_preserveObject": {
3662
+ "type": "object",
3663
+ "patternProperties": {
3664
+ ".*": {
3665
+ "const": true
3666
+ }
3667
+ }
3668
+ },
3653
3669
  "srd": {
3654
3670
  "type": [
3655
3671
  "boolean",
@@ -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.4.0",
4
+ "version": "1.5.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -18,6 +18,8 @@
18
18
  },
19
19
  "time": {
20
20
  "type": "object",
21
+ "additionalProperties": false,
22
+ "minProperties": 1,
21
23
  "properties": {
22
24
  "total": {
23
25
  "$ref": "util-time.json#/$defs/timeMinutes"
@@ -28,9 +30,7 @@
28
30
  "preparation": {
29
31
  "$ref": "util-time.json#/$defs/timeMinutes"
30
32
  }
31
- },
32
- "additionalProperties": false,
33
- "minProperties": 1
33
+ }
34
34
  },
35
35
  "serves": {
36
36
  "oneOf": [
@@ -193,6 +193,8 @@
193
193
  },
194
194
  "time": {
195
195
  "type": "object",
196
+ "additionalProperties": false,
197
+ "minProperties": 1,
196
198
  "properties": {
197
199
  "total": {
198
200
  "$ref": "util-time.json#/$defs/timeMinutes"
@@ -203,9 +205,7 @@
203
205
  "preparation": {
204
206
  "$ref": "util-time.json#/$defs/timeMinutes"
205
207
  }
206
- },
207
- "additionalProperties": false,
208
- "minProperties": 1
208
+ }
209
209
  },
210
210
  "serves": {
211
211
  "oneOf": [
@@ -372,6 +372,8 @@
372
372
  },
373
373
  "time": {
374
374
  "type": "object",
375
+ "additionalProperties": false,
376
+ "minProperties": 1,
375
377
  "properties": {
376
378
  "total": {
377
379
  "$ref": "util-time.json#/$defs/timeMinutes"
@@ -382,9 +384,7 @@
382
384
  "preparation": {
383
385
  "$ref": "util-time.json#/$defs/timeMinutes"
384
386
  }
385
- },
386
- "additionalProperties": false,
387
- "minProperties": 1
387
+ }
388
388
  },
389
389
  "serves": {
390
390
  "oneOf": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-time.json",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "title": "Util: Time",
6
6
  "$defs": {
7
7
  "time": {
@@ -31,7 +31,27 @@
31
31
  "additionalProperties": false
32
32
  },
33
33
  "timeMinutes": {
34
- "type": "integer"
34
+ "oneOf": [
35
+ {
36
+ "type": "integer"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "properties": {
41
+ "min": {
42
+ "type": "integer"
43
+ },
44
+ "max": {
45
+ "type": "integer"
46
+ }
47
+ },
48
+ "required": [
49
+ "min",
50
+ "max"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ ]
35
55
  }
36
56
  }
37
57
  }
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.13.35",
6
+ "version": "1.13.36",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -3571,6 +3571,10 @@
3571
3571
  },
3572
3572
  "_mod": {
3573
3573
  "$ref": "#/$defs/_modObject"
3574
+ },
3575
+ "_preserve": {
3576
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3577
+ "$ref": "#/$defs/_preserveObject"
3574
3578
  }
3575
3579
  },
3576
3580
  "required": [
@@ -3592,6 +3596,10 @@
3592
3596
  },
3593
3597
  "_mod": {
3594
3598
  "$ref": "#/$defs/_modObject"
3599
+ },
3600
+ "_preserve": {
3601
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3602
+ "$ref": "#/$defs/_preserveObject"
3595
3603
  }
3596
3604
  },
3597
3605
  "required": [
@@ -3650,6 +3658,14 @@
3650
3658
  }
3651
3659
  }
3652
3660
  },
3661
+ "_preserveObject": {
3662
+ "type": "object",
3663
+ "patternProperties": {
3664
+ ".*": {
3665
+ "const": true
3666
+ }
3667
+ }
3668
+ },
3653
3669
  "srd": {
3654
3670
  "type": [
3655
3671
  "boolean",
@@ -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.4.0",
4
+ "version": "1.5.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -18,17 +18,6 @@
18
18
  },
19
19
  "time": {
20
20
  "type": "object",
21
- "properties": {
22
- "total": {
23
- "$ref": "util-time.json#/$defs/timeMinutes"
24
- },
25
- "cooking": {
26
- "$ref": "util-time.json#/$defs/timeMinutes"
27
- },
28
- "preparation": {
29
- "$ref": "util-time.json#/$defs/timeMinutes"
30
- }
31
- },
32
21
  "additionalProperties": false,
33
22
  "minProperties": 1
34
23
  },
@@ -193,17 +182,6 @@
193
182
  },
194
183
  "time": {
195
184
  "type": "object",
196
- "properties": {
197
- "total": {
198
- "$ref": "util-time.json#/$defs/timeMinutes"
199
- },
200
- "cooking": {
201
- "$ref": "util-time.json#/$defs/timeMinutes"
202
- },
203
- "preparation": {
204
- "$ref": "util-time.json#/$defs/timeMinutes"
205
- }
206
- },
207
185
  "additionalProperties": false,
208
186
  "minProperties": 1
209
187
  },
@@ -372,17 +350,6 @@
372
350
  },
373
351
  "time": {
374
352
  "type": "object",
375
- "properties": {
376
- "total": {
377
- "$ref": "util-time.json#/$defs/timeMinutes"
378
- },
379
- "cooking": {
380
- "$ref": "util-time.json#/$defs/timeMinutes"
381
- },
382
- "preparation": {
383
- "$ref": "util-time.json#/$defs/timeMinutes"
384
- }
385
- },
386
353
  "additionalProperties": false,
387
354
  "minProperties": 1
388
355
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-time.json",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "title": "Util: Time",
6
6
  "$defs": {
7
7
  "time": {
@@ -31,7 +31,27 @@
31
31
  "additionalProperties": false
32
32
  },
33
33
  "timeMinutes": {
34
- "type": "integer"
34
+ "oneOf": [
35
+ {
36
+ "type": "integer"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "properties": {
41
+ "min": {
42
+ "type": "integer"
43
+ },
44
+ "max": {
45
+ "type": "integer"
46
+ }
47
+ },
48
+ "required": [
49
+ "min",
50
+ "max"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ ]
35
55
  }
36
56
  }
37
57
  }
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.13.35",
6
+ "version": "1.13.36",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -3571,6 +3571,10 @@
3571
3571
  },
3572
3572
  "_mod": {
3573
3573
  "$ref": "#/$defs/_modObject"
3574
+ },
3575
+ "_preserve": {
3576
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3577
+ "$ref": "#/$defs/_preserveObject"
3574
3578
  }
3575
3579
  },
3576
3580
  "required": [
@@ -3592,6 +3596,10 @@
3592
3596
  },
3593
3597
  "_mod": {
3594
3598
  "$ref": "#/$defs/_modObject"
3599
+ },
3600
+ "_preserve": {
3601
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3602
+ "$ref": "#/$defs/_preserveObject"
3595
3603
  }
3596
3604
  },
3597
3605
  "required": [
@@ -3650,6 +3658,14 @@
3650
3658
  }
3651
3659
  }
3652
3660
  },
3661
+ "_preserveObject": {
3662
+ "type": "object",
3663
+ "patternProperties": {
3664
+ ".*": {
3665
+ "const": true
3666
+ }
3667
+ }
3668
+ },
3653
3669
  "srd": {
3654
3670
  "type": [
3655
3671
  "boolean",
@@ -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.4.0",
4
+ "version": "1.5.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "recipeData": {
@@ -18,17 +18,6 @@
18
18
  },
19
19
  "time": {
20
20
  "type": "object",
21
- "properties": {
22
- "total": {
23
- "$ref": "util-time.json#/$defs/timeMinutes"
24
- },
25
- "cooking": {
26
- "$ref": "util-time.json#/$defs/timeMinutes"
27
- },
28
- "preparation": {
29
- "$ref": "util-time.json#/$defs/timeMinutes"
30
- }
31
- },
32
21
  "additionalProperties": false,
33
22
  "minProperties": 1
34
23
  },
@@ -193,17 +182,6 @@
193
182
  },
194
183
  "time": {
195
184
  "type": "object",
196
- "properties": {
197
- "total": {
198
- "$ref": "util-time.json#/$defs/timeMinutes"
199
- },
200
- "cooking": {
201
- "$ref": "util-time.json#/$defs/timeMinutes"
202
- },
203
- "preparation": {
204
- "$ref": "util-time.json#/$defs/timeMinutes"
205
- }
206
- },
207
185
  "additionalProperties": false,
208
186
  "minProperties": 1
209
187
  },
@@ -372,17 +350,6 @@
372
350
  },
373
351
  "time": {
374
352
  "type": "object",
375
- "properties": {
376
- "total": {
377
- "$ref": "util-time.json#/$defs/timeMinutes"
378
- },
379
- "cooking": {
380
- "$ref": "util-time.json#/$defs/timeMinutes"
381
- },
382
- "preparation": {
383
- "$ref": "util-time.json#/$defs/timeMinutes"
384
- }
385
- },
386
353
  "additionalProperties": false,
387
354
  "minProperties": 1
388
355
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-time.json",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "title": "Util: Time",
6
6
  "$defs": {
7
7
  "time": {
@@ -31,7 +31,27 @@
31
31
  "additionalProperties": false
32
32
  },
33
33
  "timeMinutes": {
34
- "type": "integer"
34
+ "oneOf": [
35
+ {
36
+ "type": "integer"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "properties": {
41
+ "min": {
42
+ "type": "integer"
43
+ },
44
+ "max": {
45
+ "type": "integer"
46
+ }
47
+ },
48
+ "required": [
49
+ "min",
50
+ "max"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ ]
35
55
  }
36
56
  }
37
57
  }
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.13.35",
6
+ "version": "1.13.36",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -3571,6 +3571,10 @@
3571
3571
  },
3572
3572
  "_mod": {
3573
3573
  "$ref": "#/$defs/_modObject"
3574
+ },
3575
+ "_preserve": {
3576
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3577
+ "$ref": "#/$defs/_preserveObject"
3574
3578
  }
3575
3579
  },
3576
3580
  "required": [
@@ -3592,6 +3596,10 @@
3592
3596
  },
3593
3597
  "_mod": {
3594
3598
  "$ref": "#/$defs/_modObject"
3599
+ },
3600
+ "_preserve": {
3601
+ "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
3602
+ "$ref": "#/$defs/_preserveObject"
3595
3603
  }
3596
3604
  },
3597
3605
  "required": [
@@ -3650,6 +3658,14 @@
3650
3658
  }
3651
3659
  }
3652
3660
  },
3661
+ "_preserveObject": {
3662
+ "type": "object",
3663
+ "patternProperties": {
3664
+ ".*": {
3665
+ "const": true
3666
+ }
3667
+ }
3668
+ },
3653
3669
  "srd": {
3654
3670
  "type": [
3655
3671
  "boolean",