@texaryn/schema-json 0.2.5 → 0.4.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,137 @@
1
1
  # @texaryn/schema-json
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 7bd64e5: Project conditional fields declared inside nested applicators
8
+
9
+ A property that only a nested branch declares was never projected, so the form
10
+ could not collect a value its own validation demanded. Given the conditional
11
+ idiom Backstage's documentation tells template authors to write,
12
+ `dependencies` containing `allOf` containing `if`/`then`, the validator
13
+ reported `/lastName` as required and the projection had no `/lastName` at all:
14
+ a step that cannot be completed or corrected.
15
+
16
+ Candidate discovery now recurses through the applicators that act on the same
17
+ instance location (`if`, `then`, `else`, `allOf`, `anyOf`, `oneOf`,
18
+ `dependentSchemas`, and `$ref` targets) rather than reading one level of each.
19
+ It does not follow `not`, whose subschema describes what an instance must not
20
+ be, nor the values of `properties` or `items`, which describe other locations.
21
+
22
+ The defect was never specific to `dependencies`: a top-level `allOf` containing
23
+ `if`/`then` failed the same way.
24
+ - 7f22daf: Provisionally selects the `oneOf` branch the current data uniquely identifies,
25
+ so a form can show the field that would make that branch apply.
26
+
27
+ `oneOf` selects on full validity, so a branch identified by an explicit
28
+ discriminator stays unselected while one of its own required properties is
29
+ absent. The branch's fields were therefore inactive, which hid the very field
30
+ needed to complete it: the exit from the state existed and the form could not
31
+ reach it. Those fields now report `provisional`, and the branch's requirements
32
+ report `provisionalRequired`, both added to the port in `@texaryn/core` 0.8.0.
33
+
34
+ The rule is narrow on purpose. Only an explicit `const` or `enum` on a property
35
+ discriminates, and only where every branch constrains that property; both
36
+ keywords together are conjunctive; the discriminator has to be present in the
37
+ data rather than declared as a `default`; every present discriminator has to
38
+ agree; and zero or several surviving branches select nothing. `type` and `anyOf`
39
+ are excluded. Nothing else about a branch participates, so a branch stays
40
+ identified when some other constraint of its own fails.
41
+
42
+ A selected branch also supplies its children's shape and annotations, ahead of
43
+ the previous first-declaration fallback, so an exposed field carries its own
44
+ branch's widget, title and `default` rather than another branch's.
45
+
46
+ One correction comes with it: `ChildProjection.required` is now gated on the
47
+ containing node applying. A branch that does not apply demands nothing, and
48
+ reporting its `required` array attributed to the validator something it was not
49
+ asking for. Previously such a child was reported required while `validate`
50
+ reported no errors.
51
+ - f548009: Resolve the published JSON Schema metaschemas, so a schema can assert that it is itself a valid schema.
52
+
53
+ A schema may reference its dialect's metaschema by canonical URI, which is how the specification's own test suite checks schema validity. `json-schema-library` carries the draft definitions but not the metaschema documents, and an unresolved reference fails closed, so previously a perfectly valid schema was reported invalid with `Could not resolve $ref`. Draft 7, 2019-09 and 2020-12 all work now, including the vocabulary documents the later two reference.
54
+
55
+ The documents are vendored, so nothing is fetched over the network, and they are loaded on demand: a form that never asks the question does not carry them. Loading is keyed on `$ref`, `$dynamicRef` and `$recursiveRef`, never on `$schema`, because every schema declares one of those and the validator maps it to a draft without retrieving anything. The dialect comes from the URI that was referenced rather than the one detected, so a Draft 7 schema referencing the 2020-12 metaschema gets the right closure.
56
+
57
+ One inherited consequence is worth knowing: metaschema validation follows the dialect's `format` rule, so a malformed `pattern` or `$id` is rejected under Draft 7, which asserts `format`, and not under 2019-09 or 2020-12, which treat it as an annotation. Strict schema linting would be a separate capability rather than a change to validation semantics.
58
+
59
+ Against the official test suite this closes all six standard-metaschema failures, taking mandatory results to 917/929 for Draft 7, 1244/1261 for 2019-09 and 1278/1301 for 2020-12, with no other result moving in either adapter.
60
+ - 748b250: Derive a form shape for schemas that declare structure without `type`
61
+
62
+ A schema is not obliged to declare `type`, and one that declares `properties`
63
+ without it is both valid and widespread: not one parameter step in a Backstage
64
+ Software Template declares `type: object`. Every such schema used to project no
65
+ node at all, which threw at the root and, one level down, dropped the field
66
+ from the form with no error at all.
67
+
68
+ The projection now derives a shape from type-specific structural keywords when
69
+ exactly one JSON type's keywords are present, and reports the pointer as
70
+ ambiguous when more than one type's are. Nothing scalar is inferred, because
71
+ `minimum` cannot distinguish `number` from `integer` and a wrong guess selects
72
+ the wrong widget.
73
+
74
+ This is a projection decision and not a type assertion. No `type` is written
75
+ into the schema and the schema is never mutated, so
76
+ `{ properties: { name: … } }` continues to accept a string, a number and null,
77
+ exactly as JSON Schema says it should, while the form renders as an object.
78
+
79
+ `SchemaProjection` gains an optional `diagnostics` array, with the
80
+ `ProjectionDiagnostic` and `ProjectionDiagnosticCode` types, so a pointer that
81
+ could not be given a shape is reported rather than silently absent. Two codes:
82
+ `ambiguous-projection-shape` where keywords from more than one type conflict,
83
+ and `unresolved-projection-shape` where there is nothing to go on at all. An
84
+ `enum` without a `type` is the common case of the second, and deliberately not
85
+ read as a string, because JSON Schema permits members of different types.
86
+
87
+ Diagnostics describe schemas rather than data. One case is not reported: a
88
+ `oneOf` or `anyOf` whose branches the current value does not match, where some
89
+ branch would have rendered for a value that did. Whether the value is
90
+ acceptable is validation's subject. A branch the value does match and that
91
+ still supplies no shape is reported, as is a composition with no renderable
92
+ branch at all, because those are limitations rather than data states.
93
+
94
+ The rule in full: an explicit `type` is used, an unambiguous structural shape
95
+ is derived, and everything else is reported. Nothing is guessed and nothing
96
+ disappears without a word.
97
+
98
+ ### Patch Changes
99
+
100
+ - Updated dependencies [89c44e5]
101
+ - Updated dependencies [43e4370]
102
+ - Updated dependencies [b2bb9d6]
103
+ - Updated dependencies [55ce8d6]
104
+ - Updated dependencies [a835e87]
105
+ - Updated dependencies [9b262d3]
106
+ - Updated dependencies [748b250]
107
+ - @texaryn/core@0.8.0
108
+
109
+ ## 0.3.0
110
+
111
+ ### Minor Changes
112
+
113
+ - 8a5ba0b: Stop asserting `format` in 2019-09, where the specification makes it an annotation.
114
+
115
+ From 2019-09 the default vocabulary is format-annotation, so `format` describes a value rather than constraining it unless format-assertion is explicitly declared. 2020-12 was already handled; 2019-09 was not, so `{ "type": "string", "format": "email" }` rejected `"2962"` on a dialect where it should be valid. Draft 7 is unchanged and still asserts: that is the conventional behaviour there, and the specification asks only that it can be turned off.
116
+
117
+ This changes validation results, which is why it is a minor rather than a patch. Anyone relying on 2019-09 rejecting a malformed `format` value loses that, and the way to keep it is to declare the format-assertion vocabulary in the schema.
118
+
119
+ The old behaviour also rejected valid data, which is the more concrete argument for the change. Against the official JSON Schema Test Suite, six `optional/format/email` cases now pass that previously failed, covering quoted local parts, escaped characters and an IPv6 address literal: all legitimate addresses the underlying checker refused. The suite's 2019-09 optional pass count moves 782 to 563 in the other direction, because those cases deliberately measure an implementation that has format assertion switched on, which is no longer the default here. No mandatory result changes in any dialect.
120
+ - 04270e8: Give every array action control an accessible name that says which row it acts on.
121
+
122
+ Five buttons all announced as "Remove" leave a screen reader user guessing. Each now carries the current 1-based position and whatever schema titles exist, so "Remove Contact 2 from Contacts", degrading to "Remove item 2" when nothing is titled. Reorder controls read "Move up Contact 2 in Contacts", and the per-array control reads "Add item to Contacts". The visible words stay "Remove", "Up" and "Add", with the longer string in `aria-label`, which contains the visible text so speech input still works.
123
+
124
+ The row's own value is deliberately not used: it is mutable, often blank, frequently duplicated, and sometimes sensitive. The position is recomputed on every render rather than captured when a row is created, because a row survives a move while its position does not.
125
+
126
+ The add control is named from the item template rather than from the first row, so an empty array still says "Add Tag" where naming it matters most. That needed the template's annotations, which the projection did not carry: `NodeProjection.itemAnnotations` is new and optional, so an adapter that cannot supply it stays valid, and `ArrayMeta.itemTitle` carries the result to renderers.
127
+
128
+ React exposes the decision as `useArrayActions` so its three widget sets cannot drift, and the name builders are exported for custom widgets. Reorder-control parity is unchanged: the three React sets still expose no reorder button.
129
+
130
+ ### Patch Changes
131
+
132
+ - Updated dependencies [04270e8]
133
+ - @texaryn/core@0.7.0
134
+
3
135
  ## 0.2.5
4
136
 
5
137
  ### Patch Changes
@@ -0,0 +1,43 @@
1
+ # Third-party notices
2
+
3
+ ## JSON Schema metaschemas
4
+
5
+ `src/metaschemas/` contains the published JSON Schema metaschema documents for
6
+ Draft 7, 2019-09 and 2020-12, together with the vocabulary documents the latter
7
+ two reference. They are copied verbatim so that validating a schema against its
8
+ own metaschema needs no network access.
9
+
10
+ Retrieved from:
11
+
12
+ - `http://json-schema.org/draft-07/schema`
13
+ - `https://json-schema.org/draft/2019-09/schema` and its `meta/` documents
14
+ - `https://json-schema.org/draft/2020-12/schema` and its `meta/` documents
15
+
16
+ Copyright (c) 2022 JSON Schema Specification Authors
17
+
18
+ Redistribution and use in source and binary forms, with or without
19
+ modification, are permitted provided that the following conditions are
20
+ met:
21
+
22
+ 1. Redistributions of source code must retain the above copyright
23
+ notice, this list of conditions and the following disclaimer.
24
+
25
+ 2. Redistributions in binary form must reproduce the above copyright
26
+ notice, this list of conditions and the following disclaimer in the
27
+ documentation and/or other materials provided with the distribution.
28
+
29
+ 3. Neither the name of the copyright holder nor the names of its
30
+ contributors may be used to endorse or promote products derived from
31
+ this software without specific prior written permission.
32
+
33
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
34
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
35
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
36
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
37
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
38
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
39
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
40
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
41
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
42
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
43
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAElE,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAoB5B"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAElE,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAoB5B"}
package/dist/adapter.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { compileSchema, } from 'json-schema-library';
2
2
  import { detectDialect } from './dialect.js';
3
+ import { loadMetaschemas, referencedDialects } from './metaschemas/index.js';
3
4
  import { buildProjection } from './projection.js';
4
5
  export async function createJsonSchemaAdapter(schema, config) {
5
6
  const dialect = detectDialect(schema, {
@@ -27,13 +28,22 @@ function toDraftOption(dialect) {
27
28
  // wrapped in a Promise so the factory signature stays uniform with libraries whose
28
29
  // preparation step is genuinely async (e.g. hyperjump's annotate()).
29
30
  async function prepareSchema(schema, dialect) {
30
- // 2020-12 makes `format` an assertion by default in json-schema-library, which is a
31
- // deviation from the spec (format is annotation-only unless the format-assertion
32
- // vocabulary is declared). formatAssertion: false restores spec-correct behavior.
33
- const formatAssertion = dialect === '2020-12' ? false : undefined;
31
+ // A schema may reference its dialect's metaschema to assert that it is
32
+ // itself a valid schema. json-schema-library carries the draft definitions
33
+ // but not the metaschema documents, and an unresolved reference fails
34
+ // closed, so without these a valid schema is reported invalid.
35
+ const referenced = referencedDialects(schema);
36
+ const remotes = referenced.length > 0 ? await loadMetaschemas(referenced) : undefined;
37
+ // json-schema-library asserts `format` in every dialect. Draft 7 permits that:
38
+ // assertion is the conventional behaviour there and the specification only asks
39
+ // that it can be disabled. From 2019-09 the default inverted, and `format` is an
40
+ // annotation unless the format-assertion vocabulary is declared, so asserting it
41
+ // is a deviation rather than a stricter setting.
42
+ const formatAssertion = dialect === 'draft-07' ? undefined : false;
34
43
  return compileSchema(schema, {
35
44
  draft: toDraftOption(dialect),
36
45
  formatAssertion,
46
+ remotes,
37
47
  });
38
48
  }
39
49
  // json-schema-library reports data pointers as "#"-prefixed URI fragments (e.g. "#/age");
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { JsonSchema } from 'json-schema-library';
2
+ /** The 2019-09 metaschema and every vocabulary document it references. */
3
+ export declare const metaschemas: JsonSchema[];
4
+ //# sourceMappingURL=2019-09.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2019-09.d.ts","sourceRoot":"","sources":["../../src/metaschemas/2019-09.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,0EAA0E;AAC1E,eAAO,MAAM,WAAW,EAAE,UAAU,EAenC,CAAA"}
@@ -0,0 +1,18 @@
1
+ /** The 2019-09 metaschema and every vocabulary document it references. */
2
+ export const metaschemas = [
3
+ // https://json-schema.org/draft/2019-09/schema
4
+ { "$schema": "https://json-schema.org/draft/2019-09/schema", "$id": "https://json-schema.org/draft/2019-09/schema", "$vocabulary": { "https://json-schema.org/draft/2019-09/vocab/core": true, "https://json-schema.org/draft/2019-09/vocab/applicator": true, "https://json-schema.org/draft/2019-09/vocab/validation": true, "https://json-schema.org/draft/2019-09/vocab/meta-data": true, "https://json-schema.org/draft/2019-09/vocab/format": false, "https://json-schema.org/draft/2019-09/vocab/content": true }, "$recursiveAnchor": true, "title": "Core and Validation specifications meta-schema", "allOf": [{ "$ref": "meta/core" }, { "$ref": "meta/applicator" }, { "$ref": "meta/validation" }, { "$ref": "meta/meta-data" }, { "$ref": "meta/format" }, { "$ref": "meta/content" }], "type": ["object", "boolean"], "properties": { "definitions": { "$comment": "While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.", "type": "object", "additionalProperties": { "$recursiveRef": "#" }, "default": {} }, "dependencies": { "$comment": "\"dependencies\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \"dependentSchemas\" and \"dependentRequired\"", "type": "object", "additionalProperties": { "anyOf": [{ "$recursiveRef": "#" }, { "$ref": "meta/validation#/$defs/stringArray" }] } } } },
5
+ // https://json-schema.org/draft/2019-09/meta/core
6
+ { "$schema": "https://json-schema.org/draft/2019-09/schema", "$id": "https://json-schema.org/draft/2019-09/meta/core", "$recursiveAnchor": true, "title": "Core vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "$id": { "type": "string", "format": "uri-reference", "$comment": "Non-empty fragments not allowed.", "pattern": "^[^#]*#?$" }, "$schema": { "type": "string", "format": "uri" }, "$anchor": { "type": "string", "pattern": "^[A-Za-z][-A-Za-z0-9.:_]*$" }, "$ref": { "type": "string", "format": "uri-reference" }, "$recursiveRef": { "type": "string", "format": "uri-reference" }, "$recursiveAnchor": { "type": "boolean", "default": false }, "$vocabulary": { "type": "object", "propertyNames": { "type": "string", "format": "uri" }, "additionalProperties": { "type": "boolean" } }, "$comment": { "type": "string" }, "$defs": { "type": "object", "additionalProperties": { "$recursiveRef": "#" }, "default": {} } } },
7
+ // https://json-schema.org/draft/2019-09/meta/applicator
8
+ { "$schema": "https://json-schema.org/draft/2019-09/schema", "$id": "https://json-schema.org/draft/2019-09/meta/applicator", "$recursiveAnchor": true, "title": "Applicator vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "additionalItems": { "$recursiveRef": "#" }, "unevaluatedItems": { "$recursiveRef": "#" }, "items": { "anyOf": [{ "$recursiveRef": "#" }, { "$ref": "#/$defs/schemaArray" }] }, "contains": { "$recursiveRef": "#" }, "additionalProperties": { "$recursiveRef": "#" }, "unevaluatedProperties": { "$recursiveRef": "#" }, "properties": { "type": "object", "additionalProperties": { "$recursiveRef": "#" }, "default": {} }, "patternProperties": { "type": "object", "additionalProperties": { "$recursiveRef": "#" }, "propertyNames": { "format": "regex" }, "default": {} }, "dependentSchemas": { "type": "object", "additionalProperties": { "$recursiveRef": "#" } }, "propertyNames": { "$recursiveRef": "#" }, "if": { "$recursiveRef": "#" }, "then": { "$recursiveRef": "#" }, "else": { "$recursiveRef": "#" }, "allOf": { "$ref": "#/$defs/schemaArray" }, "anyOf": { "$ref": "#/$defs/schemaArray" }, "oneOf": { "$ref": "#/$defs/schemaArray" }, "not": { "$recursiveRef": "#" } }, "$defs": { "schemaArray": { "type": "array", "minItems": 1, "items": { "$recursiveRef": "#" } } } },
9
+ // https://json-schema.org/draft/2019-09/meta/validation
10
+ { "$schema": "https://json-schema.org/draft/2019-09/schema", "$id": "https://json-schema.org/draft/2019-09/meta/validation", "$recursiveAnchor": true, "title": "Validation vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "multipleOf": { "type": "number", "exclusiveMinimum": 0 }, "maximum": { "type": "number" }, "exclusiveMaximum": { "type": "number" }, "minimum": { "type": "number" }, "exclusiveMinimum": { "type": "number" }, "maxLength": { "$ref": "#/$defs/nonNegativeInteger" }, "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, "pattern": { "type": "string", "format": "regex" }, "maxItems": { "$ref": "#/$defs/nonNegativeInteger" }, "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, "uniqueItems": { "type": "boolean", "default": false }, "maxContains": { "$ref": "#/$defs/nonNegativeInteger" }, "minContains": { "$ref": "#/$defs/nonNegativeInteger", "default": 1 }, "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" }, "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, "required": { "$ref": "#/$defs/stringArray" }, "dependentRequired": { "type": "object", "additionalProperties": { "$ref": "#/$defs/stringArray" } }, "const": true, "enum": { "type": "array", "items": true }, "type": { "anyOf": [{ "$ref": "#/$defs/simpleTypes" }, { "type": "array", "items": { "$ref": "#/$defs/simpleTypes" }, "minItems": 1, "uniqueItems": true }] } }, "$defs": { "nonNegativeInteger": { "type": "integer", "minimum": 0 }, "nonNegativeIntegerDefault0": { "$ref": "#/$defs/nonNegativeInteger", "default": 0 }, "simpleTypes": { "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] }, "stringArray": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "default": [] } } },
11
+ // https://json-schema.org/draft/2019-09/meta/meta-data
12
+ { "$schema": "https://json-schema.org/draft/2019-09/schema", "$id": "https://json-schema.org/draft/2019-09/meta/meta-data", "$recursiveAnchor": true, "title": "Meta-data vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "title": { "type": "string" }, "description": { "type": "string" }, "default": true, "deprecated": { "type": "boolean", "default": false }, "readOnly": { "type": "boolean", "default": false }, "writeOnly": { "type": "boolean", "default": false }, "examples": { "type": "array", "items": true } } },
13
+ // https://json-schema.org/draft/2019-09/meta/format
14
+ { "$schema": "https://json-schema.org/draft/2019-09/schema", "$id": "https://json-schema.org/draft/2019-09/meta/format", "$recursiveAnchor": true, "title": "Format vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "format": { "type": "string" } } },
15
+ // https://json-schema.org/draft/2019-09/meta/content
16
+ { "$schema": "https://json-schema.org/draft/2019-09/schema", "$id": "https://json-schema.org/draft/2019-09/meta/content", "$recursiveAnchor": true, "title": "Content vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "contentMediaType": { "type": "string" }, "contentEncoding": { "type": "string" }, "contentSchema": { "$recursiveRef": "#" } } },
17
+ ];
18
+ //# sourceMappingURL=2019-09.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2019-09.js","sourceRoot":"","sources":["../../src/metaschemas/2019-09.ts"],"names":[],"mappings":"AAWA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,+CAA+C;IAC/C,EAAC,SAAS,EAAC,8CAA8C,EAAC,KAAK,EAAC,8CAA8C,EAAC,aAAa,EAAC,EAAC,kDAAkD,EAAC,IAAI,EAAC,wDAAwD,EAAC,IAAI,EAAC,wDAAwD,EAAC,IAAI,EAAC,uDAAuD,EAAC,IAAI,EAAC,oDAAoD,EAAC,KAAK,EAAC,qDAAqD,EAAC,IAAI,EAAC,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,EAAC,gDAAgD,EAAC,OAAO,EAAC,CAAC,EAAC,MAAM,EAAC,WAAW,EAAC,EAAC,EAAC,MAAM,EAAC,iBAAiB,EAAC,EAAC,EAAC,MAAM,EAAC,iBAAiB,EAAC,EAAC,EAAC,MAAM,EAAC,gBAAgB,EAAC,EAAC,EAAC,MAAM,EAAC,aAAa,EAAC,EAAC,EAAC,MAAM,EAAC,cAAc,EAAC,CAAC,EAAC,MAAM,EAAC,CAAC,QAAQ,EAAC,SAAS,CAAC,EAAC,YAAY,EAAC,EAAC,aAAa,EAAC,EAAC,UAAU,EAAC,6KAA6K,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,SAAS,EAAC,EAAE,EAAC,EAAC,cAAc,EAAC,EAAC,UAAU,EAAC,4KAA4K,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,EAAC,MAAM,EAAC,oCAAoC,EAAC,CAAC,EAAC,EAAC,EAAC,EAAe;IACj2C,kDAAkD;IAClD,EAAC,SAAS,EAAC,8CAA8C,EAAC,KAAK,EAAC,iDAAiD,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,EAAC,6BAA6B,EAAC,MAAM,EAAC,CAAC,QAAQ,EAAC,SAAS,CAAC,EAAC,YAAY,EAAC,EAAC,KAAK,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,eAAe,EAAC,UAAU,EAAC,kCAAkC,EAAC,SAAS,EAAC,WAAW,EAAC,EAAC,SAAS,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAC,EAAC,SAAS,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,4BAA4B,EAAC,EAAC,MAAM,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,eAAe,EAAC,EAAC,eAAe,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,eAAe,EAAC,EAAC,kBAAkB,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,eAAe,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAC,EAAC,sBAAsB,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,SAAS,EAAC,EAAE,EAAC,EAAC,EAAe;IAC31B,wDAAwD;IACxD,EAAC,SAAS,EAAC,8CAA8C,EAAC,KAAK,EAAC,uDAAuD,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,EAAC,mCAAmC,EAAC,MAAM,EAAC,CAAC,QAAQ,EAAC,SAAS,CAAC,EAAC,YAAY,EAAC,EAAC,iBAAiB,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,kBAAkB,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,OAAO,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,CAAC,EAAC,EAAC,UAAU,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,sBAAsB,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,uBAAuB,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,YAAY,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,SAAS,EAAC,EAAE,EAAC,EAAC,mBAAmB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,eAAe,EAAC,EAAC,QAAQ,EAAC,OAAO,EAAC,EAAC,SAAS,EAAC,EAAE,EAAC,EAAC,kBAAkB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,EAAC,eAAe,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,IAAI,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,MAAM,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,MAAM,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,EAAC,KAAK,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,EAAC,OAAO,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,UAAU,EAAC,CAAC,EAAC,OAAO,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,EAAC,EAAe;IACzpC,wDAAwD;IACxD,EAAC,SAAS,EAAC,8CAA8C,EAAC,KAAK,EAAC,uDAAuD,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,EAAC,mCAAmC,EAAC,MAAM,EAAC,CAAC,QAAQ,EAAC,SAAS,CAAC,EAAC,YAAY,EAAC,EAAC,YAAY,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,kBAAkB,EAAC,CAAC,EAAC,EAAC,SAAS,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,kBAAkB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,SAAS,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,kBAAkB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,WAAW,EAAC,EAAC,MAAM,EAAC,4BAA4B,EAAC,EAAC,WAAW,EAAC,EAAC,MAAM,EAAC,oCAAoC,EAAC,EAAC,SAAS,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,OAAO,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,4BAA4B,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,oCAAoC,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,4BAA4B,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,4BAA4B,EAAC,SAAS,EAAC,CAAC,EAAC,EAAC,eAAe,EAAC,EAAC,MAAM,EAAC,4BAA4B,EAAC,EAAC,eAAe,EAAC,EAAC,MAAM,EAAC,oCAAoC,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,EAAC,mBAAmB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,EAAC,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,EAAC,MAAM,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,qBAAqB,EAAC,EAAC,UAAU,EAAC,CAAC,EAAC,aAAa,EAAC,IAAI,EAAC,CAAC,EAAC,EAAC,EAAC,OAAO,EAAC,EAAC,oBAAoB,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,EAAC,EAAC,4BAA4B,EAAC,EAAC,MAAM,EAAC,4BAA4B,EAAC,SAAS,EAAC,CAAC,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,CAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,aAAa,EAAC,IAAI,EAAC,SAAS,EAAC,EAAE,EAAC,EAAC,EAAe;IACtkD,uDAAuD;IACvD,EAAC,SAAS,EAAC,8CAA8C,EAAC,KAAK,EAAC,sDAAsD,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,EAAC,kCAAkC,EAAC,MAAM,EAAC,CAAC,QAAQ,EAAC,SAAS,CAAC,EAAC,YAAY,EAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,YAAY,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAC,EAAC,WAAW,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,EAAC,EAAe;IAClf,oDAAoD;IACpD,EAAC,SAAS,EAAC,8CAA8C,EAAC,KAAK,EAAC,mDAAmD,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,EAAC,+BAA+B,EAAC,MAAM,EAAC,CAAC,QAAQ,EAAC,SAAS,CAAC,EAAC,YAAY,EAAC,EAAC,QAAQ,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,EAAe;IACxQ,qDAAqD;IACrD,EAAC,SAAS,EAAC,8CAA8C,EAAC,KAAK,EAAC,oDAAoD,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,EAAC,gCAAgC,EAAC,MAAM,EAAC,CAAC,QAAQ,EAAC,SAAS,CAAC,EAAC,YAAY,EAAC,EAAC,kBAAkB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,iBAAiB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,eAAe,EAAC,EAAC,eAAe,EAAC,GAAG,EAAC,EAAC,EAAe;CAC/V,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { JsonSchema } from 'json-schema-library';
2
+ /** The 2020-12 metaschema and every vocabulary document it references. */
3
+ export declare const metaschemas: JsonSchema[];
4
+ //# sourceMappingURL=2020-12.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2020-12.d.ts","sourceRoot":"","sources":["../../src/metaschemas/2020-12.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,0EAA0E;AAC1E,eAAO,MAAM,WAAW,EAAE,UAAU,EAiBnC,CAAA"}
@@ -0,0 +1,20 @@
1
+ /** The 2020-12 metaschema and every vocabulary document it references. */
2
+ export const metaschemas = [
3
+ // https://json-schema.org/draft/2020-12/schema
4
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://json-schema.org/draft/2020-12/schema", "$vocabulary": { "https://json-schema.org/draft/2020-12/vocab/core": true, "https://json-schema.org/draft/2020-12/vocab/applicator": true, "https://json-schema.org/draft/2020-12/vocab/unevaluated": true, "https://json-schema.org/draft/2020-12/vocab/validation": true, "https://json-schema.org/draft/2020-12/vocab/meta-data": true, "https://json-schema.org/draft/2020-12/vocab/format-annotation": true, "https://json-schema.org/draft/2020-12/vocab/content": true }, "$dynamicAnchor": "meta", "title": "Core and Validation specifications meta-schema", "allOf": [{ "$ref": "meta/core" }, { "$ref": "meta/applicator" }, { "$ref": "meta/unevaluated" }, { "$ref": "meta/validation" }, { "$ref": "meta/meta-data" }, { "$ref": "meta/format-annotation" }, { "$ref": "meta/content" }], "type": ["object", "boolean"], "$comment": "This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.", "properties": { "definitions": { "$comment": "\"definitions\" has been replaced by \"$defs\".", "type": "object", "additionalProperties": { "$dynamicRef": "#meta" }, "deprecated": true, "default": {} }, "dependencies": { "$comment": "\"dependencies\" has been split and replaced by \"dependentSchemas\" and \"dependentRequired\" in order to serve their differing semantics.", "type": "object", "additionalProperties": { "anyOf": [{ "$dynamicRef": "#meta" }, { "$ref": "meta/validation#/$defs/stringArray" }] }, "deprecated": true, "default": {} }, "$recursiveAnchor": { "$comment": "\"$recursiveAnchor\" has been replaced by \"$dynamicAnchor\".", "$ref": "meta/core#/$defs/anchorString", "deprecated": true }, "$recursiveRef": { "$comment": "\"$recursiveRef\" has been replaced by \"$dynamicRef\".", "$ref": "meta/core#/$defs/uriReferenceString", "deprecated": true } } },
5
+ // https://json-schema.org/draft/2020-12/meta/core
6
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://json-schema.org/draft/2020-12/meta/core", "$dynamicAnchor": "meta", "title": "Core vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "$id": { "$ref": "#/$defs/uriReferenceString", "$comment": "Non-empty fragments not allowed.", "pattern": "^[^#]*#?$" }, "$schema": { "$ref": "#/$defs/uriString" }, "$ref": { "$ref": "#/$defs/uriReferenceString" }, "$anchor": { "$ref": "#/$defs/anchorString" }, "$dynamicRef": { "$ref": "#/$defs/uriReferenceString" }, "$dynamicAnchor": { "$ref": "#/$defs/anchorString" }, "$vocabulary": { "type": "object", "propertyNames": { "$ref": "#/$defs/uriString" }, "additionalProperties": { "type": "boolean" } }, "$comment": { "type": "string" }, "$defs": { "type": "object", "additionalProperties": { "$dynamicRef": "#meta" } } }, "$defs": { "anchorString": { "type": "string", "pattern": "^[A-Za-z_][-A-Za-z0-9._]*$" }, "uriString": { "type": "string", "format": "uri" }, "uriReferenceString": { "type": "string", "format": "uri-reference" } } },
7
+ // https://json-schema.org/draft/2020-12/meta/applicator
8
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://json-schema.org/draft/2020-12/meta/applicator", "$dynamicAnchor": "meta", "title": "Applicator vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "prefixItems": { "$ref": "#/$defs/schemaArray" }, "items": { "$dynamicRef": "#meta" }, "contains": { "$dynamicRef": "#meta" }, "additionalProperties": { "$dynamicRef": "#meta" }, "properties": { "type": "object", "additionalProperties": { "$dynamicRef": "#meta" }, "default": {} }, "patternProperties": { "type": "object", "additionalProperties": { "$dynamicRef": "#meta" }, "propertyNames": { "format": "regex" }, "default": {} }, "dependentSchemas": { "type": "object", "additionalProperties": { "$dynamicRef": "#meta" }, "default": {} }, "propertyNames": { "$dynamicRef": "#meta" }, "if": { "$dynamicRef": "#meta" }, "then": { "$dynamicRef": "#meta" }, "else": { "$dynamicRef": "#meta" }, "allOf": { "$ref": "#/$defs/schemaArray" }, "anyOf": { "$ref": "#/$defs/schemaArray" }, "oneOf": { "$ref": "#/$defs/schemaArray" }, "not": { "$dynamicRef": "#meta" } }, "$defs": { "schemaArray": { "type": "array", "minItems": 1, "items": { "$dynamicRef": "#meta" } } } },
9
+ // https://json-schema.org/draft/2020-12/meta/unevaluated
10
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://json-schema.org/draft/2020-12/meta/unevaluated", "$dynamicAnchor": "meta", "title": "Unevaluated applicator vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "unevaluatedItems": { "$dynamicRef": "#meta" }, "unevaluatedProperties": { "$dynamicRef": "#meta" } } },
11
+ // https://json-schema.org/draft/2020-12/meta/validation
12
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://json-schema.org/draft/2020-12/meta/validation", "$dynamicAnchor": "meta", "title": "Validation vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "type": { "anyOf": [{ "$ref": "#/$defs/simpleTypes" }, { "type": "array", "items": { "$ref": "#/$defs/simpleTypes" }, "minItems": 1, "uniqueItems": true }] }, "const": true, "enum": { "type": "array", "items": true }, "multipleOf": { "type": "number", "exclusiveMinimum": 0 }, "maximum": { "type": "number" }, "exclusiveMaximum": { "type": "number" }, "minimum": { "type": "number" }, "exclusiveMinimum": { "type": "number" }, "maxLength": { "$ref": "#/$defs/nonNegativeInteger" }, "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, "pattern": { "type": "string", "format": "regex" }, "maxItems": { "$ref": "#/$defs/nonNegativeInteger" }, "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, "uniqueItems": { "type": "boolean", "default": false }, "maxContains": { "$ref": "#/$defs/nonNegativeInteger" }, "minContains": { "$ref": "#/$defs/nonNegativeInteger", "default": 1 }, "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" }, "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, "required": { "$ref": "#/$defs/stringArray" }, "dependentRequired": { "type": "object", "additionalProperties": { "$ref": "#/$defs/stringArray" } } }, "$defs": { "nonNegativeInteger": { "type": "integer", "minimum": 0 }, "nonNegativeIntegerDefault0": { "$ref": "#/$defs/nonNegativeInteger", "default": 0 }, "simpleTypes": { "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] }, "stringArray": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "default": [] } } },
13
+ // https://json-schema.org/draft/2020-12/meta/meta-data
14
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://json-schema.org/draft/2020-12/meta/meta-data", "$dynamicAnchor": "meta", "title": "Meta-data vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "title": { "type": "string" }, "description": { "type": "string" }, "default": true, "deprecated": { "type": "boolean", "default": false }, "readOnly": { "type": "boolean", "default": false }, "writeOnly": { "type": "boolean", "default": false }, "examples": { "type": "array", "items": true } } },
15
+ // https://json-schema.org/draft/2020-12/meta/format-annotation
16
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://json-schema.org/draft/2020-12/meta/format-annotation", "$dynamicAnchor": "meta", "title": "Format vocabulary meta-schema for annotation results", "type": ["object", "boolean"], "properties": { "format": { "type": "string" } } },
17
+ // https://json-schema.org/draft/2020-12/meta/content
18
+ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://json-schema.org/draft/2020-12/meta/content", "$dynamicAnchor": "meta", "title": "Content vocabulary meta-schema", "type": ["object", "boolean"], "properties": { "contentEncoding": { "type": "string" }, "contentMediaType": { "type": "string" }, "contentSchema": { "$dynamicRef": "#meta" } } },
19
+ ];
20
+ //# sourceMappingURL=2020-12.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2020-12.js","sourceRoot":"","sources":["../../src/metaschemas/2020-12.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { JsonSchema } from 'json-schema-library';
2
+ /** The draft-07 metaschema and every vocabulary document it references. */
3
+ export declare const metaschemas: JsonSchema[];
4
+ //# sourceMappingURL=draft-07.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-07.d.ts","sourceRoot":"","sources":["../../src/metaschemas/draft-07.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,2EAA2E;AAC3E,eAAO,MAAM,WAAW,EAAE,UAAU,EAGnC,CAAA"}
@@ -0,0 +1,6 @@
1
+ /** The draft-07 metaschema and every vocabulary document it references. */
2
+ export const metaschemas = [
3
+ // http://json-schema.org/draft-07/schema#
4
+ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "http://json-schema.org/draft-07/schema#", "title": "Core schema meta-schema", "definitions": { "schemaArray": { "type": "array", "minItems": 1, "items": { "$ref": "#" } }, "nonNegativeInteger": { "type": "integer", "minimum": 0 }, "nonNegativeIntegerDefault0": { "allOf": [{ "$ref": "#/definitions/nonNegativeInteger" }, { "default": 0 }] }, "simpleTypes": { "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] }, "stringArray": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "default": [] } }, "type": ["object", "boolean"], "properties": { "$id": { "type": "string", "format": "uri-reference" }, "$schema": { "type": "string", "format": "uri" }, "$ref": { "type": "string", "format": "uri-reference" }, "$comment": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "default": true, "readOnly": { "type": "boolean", "default": false }, "writeOnly": { "type": "boolean", "default": false }, "examples": { "type": "array", "items": true }, "multipleOf": { "type": "number", "exclusiveMinimum": 0 }, "maximum": { "type": "number" }, "exclusiveMaximum": { "type": "number" }, "minimum": { "type": "number" }, "exclusiveMinimum": { "type": "number" }, "maxLength": { "$ref": "#/definitions/nonNegativeInteger" }, "minLength": { "$ref": "#/definitions/nonNegativeIntegerDefault0" }, "pattern": { "type": "string", "format": "regex" }, "additionalItems": { "$ref": "#" }, "items": { "anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/schemaArray" }], "default": true }, "maxItems": { "$ref": "#/definitions/nonNegativeInteger" }, "minItems": { "$ref": "#/definitions/nonNegativeIntegerDefault0" }, "uniqueItems": { "type": "boolean", "default": false }, "contains": { "$ref": "#" }, "maxProperties": { "$ref": "#/definitions/nonNegativeInteger" }, "minProperties": { "$ref": "#/definitions/nonNegativeIntegerDefault0" }, "required": { "$ref": "#/definitions/stringArray" }, "additionalProperties": { "$ref": "#" }, "definitions": { "type": "object", "additionalProperties": { "$ref": "#" }, "default": {} }, "properties": { "type": "object", "additionalProperties": { "$ref": "#" }, "default": {} }, "patternProperties": { "type": "object", "additionalProperties": { "$ref": "#" }, "propertyNames": { "format": "regex" }, "default": {} }, "dependencies": { "type": "object", "additionalProperties": { "anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/stringArray" }] } }, "propertyNames": { "$ref": "#" }, "const": true, "enum": { "type": "array", "items": true, "minItems": 1, "uniqueItems": true }, "type": { "anyOf": [{ "$ref": "#/definitions/simpleTypes" }, { "type": "array", "items": { "$ref": "#/definitions/simpleTypes" }, "minItems": 1, "uniqueItems": true }] }, "format": { "type": "string" }, "contentMediaType": { "type": "string" }, "contentEncoding": { "type": "string" }, "if": { "$ref": "#" }, "then": { "$ref": "#" }, "else": { "$ref": "#" }, "allOf": { "$ref": "#/definitions/schemaArray" }, "anyOf": { "$ref": "#/definitions/schemaArray" }, "oneOf": { "$ref": "#/definitions/schemaArray" }, "not": { "$ref": "#" } }, "default": true },
5
+ ];
6
+ //# sourceMappingURL=draft-07.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-07.js","sourceRoot":"","sources":["../../src/metaschemas/draft-07.ts"],"names":[],"mappings":"AAWA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,0CAA0C;IAC1C,EAAC,SAAS,EAAC,yCAAyC,EAAC,KAAK,EAAC,yCAAyC,EAAC,OAAO,EAAC,yBAAyB,EAAC,aAAa,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,UAAU,EAAC,CAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,EAAC,oBAAoB,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,EAAC,EAAC,4BAA4B,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,MAAM,EAAC,kCAAkC,EAAC,EAAC,EAAC,SAAS,EAAC,CAAC,EAAC,CAAC,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,CAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,aAAa,EAAC,IAAI,EAAC,SAAS,EAAC,EAAE,EAAC,EAAC,EAAC,MAAM,EAAC,CAAC,QAAQ,EAAC,SAAS,CAAC,EAAC,YAAY,EAAC,EAAC,KAAK,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,eAAe,EAAC,EAAC,SAAS,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAC,EAAC,MAAM,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,eAAe,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAC,EAAC,WAAW,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,EAAC,YAAY,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,kBAAkB,EAAC,CAAC,EAAC,EAAC,SAAS,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,kBAAkB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,SAAS,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,kBAAkB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,WAAW,EAAC,EAAC,MAAM,EAAC,kCAAkC,EAAC,EAAC,WAAW,EAAC,EAAC,MAAM,EAAC,0CAA0C,EAAC,EAAC,SAAS,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAC,OAAO,EAAC,EAAC,iBAAiB,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,OAAO,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,EAAC,MAAM,EAAC,2BAA2B,EAAC,CAAC,EAAC,SAAS,EAAC,IAAI,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,kCAAkC,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,0CAA0C,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,eAAe,EAAC,EAAC,MAAM,EAAC,kCAAkC,EAAC,EAAC,eAAe,EAAC,EAAC,MAAM,EAAC,0CAA0C,EAAC,EAAC,UAAU,EAAC,EAAC,MAAM,EAAC,2BAA2B,EAAC,EAAC,sBAAsB,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,aAAa,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,SAAS,EAAC,EAAE,EAAC,EAAC,YAAY,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,SAAS,EAAC,EAAE,EAAC,EAAC,mBAAmB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,eAAe,EAAC,EAAC,QAAQ,EAAC,OAAO,EAAC,EAAC,SAAS,EAAC,EAAE,EAAC,EAAC,cAAc,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,sBAAsB,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,EAAC,MAAM,EAAC,2BAA2B,EAAC,CAAC,EAAC,EAAC,EAAC,eAAe,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,UAAU,EAAC,CAAC,EAAC,aAAa,EAAC,IAAI,EAAC,EAAC,MAAM,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,MAAM,EAAC,2BAA2B,EAAC,EAAC,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,2BAA2B,EAAC,EAAC,UAAU,EAAC,CAAC,EAAC,aAAa,EAAC,IAAI,EAAC,CAAC,EAAC,EAAC,QAAQ,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,kBAAkB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,iBAAiB,EAAC,EAAC,MAAM,EAAC,QAAQ,EAAC,EAAC,IAAI,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,MAAM,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,MAAM,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,2BAA2B,EAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,2BAA2B,EAAC,EAAC,OAAO,EAAC,EAAC,MAAM,EAAC,2BAA2B,EAAC,EAAC,KAAK,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,EAAC,EAAC,SAAS,EAAC,IAAI,EAAe;CAClxF,CAAA"}
@@ -0,0 +1,22 @@
1
+ import type { JsonSchema } from 'json-schema-library';
2
+ import type { Dialect } from '../dialect.js';
3
+ /**
4
+ * Which metaschema closures a schema needs, by walking it for references.
5
+ *
6
+ * Only `$ref`, `$dynamicRef` and `$recursiveRef` count. `$schema` is
7
+ * deliberately ignored: every schema declares one, and the validator maps it
8
+ * to a draft without ever retrieving the document, so keying on it would load
9
+ * these on every single compile.
10
+ *
11
+ * The dialect comes from the URI that was referenced rather than the one
12
+ * detected for the schema, because a Draft 7 schema may reference the 2020-12
13
+ * metaschema and would then need that closure instead of its own.
14
+ */
15
+ export declare function referencedDialects(schema: unknown): Dialect[];
16
+ /**
17
+ * The metaschema documents for the given dialects, imported on demand so a
18
+ * consumer who never references a metaschema does not carry roughly 24kB of
19
+ * specification documents.
20
+ */
21
+ export declare function loadMetaschemas(dialects: readonly Dialect[]): Promise<JsonSchema[]>;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metaschemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAwB5C;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,CA6B7D;AAuBD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAczF"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Prefixes that identify a published metaschema document, mapped to the
3
+ * dialect whose closure resolves it. Both schemes are listed because the
4
+ * canonical form differs by dialect (Draft 7 publishes `http`, the later two
5
+ * `https`) and a schema author may write either.
6
+ */
7
+ const prefixes = [
8
+ ['http://json-schema.org/draft-07/schema', 'draft-07'],
9
+ ['https://json-schema.org/draft-07/schema', 'draft-07'],
10
+ ['http://json-schema.org/draft/2019-09/', '2019-09'],
11
+ ['https://json-schema.org/draft/2019-09/', '2019-09'],
12
+ ['http://json-schema.org/draft/2020-12/', '2020-12'],
13
+ ['https://json-schema.org/draft/2020-12/', '2020-12'],
14
+ ];
15
+ function dialectFor(uri) {
16
+ for (const [prefix, dialect] of prefixes) {
17
+ if (uri.startsWith(prefix))
18
+ return dialect;
19
+ }
20
+ return null;
21
+ }
22
+ /**
23
+ * Which metaschema closures a schema needs, by walking it for references.
24
+ *
25
+ * Only `$ref`, `$dynamicRef` and `$recursiveRef` count. `$schema` is
26
+ * deliberately ignored: every schema declares one, and the validator maps it
27
+ * to a draft without ever retrieving the document, so keying on it would load
28
+ * these on every single compile.
29
+ *
30
+ * The dialect comes from the URI that was referenced rather than the one
31
+ * detected for the schema, because a Draft 7 schema may reference the 2020-12
32
+ * metaschema and would then need that closure instead of its own.
33
+ */
34
+ export function referencedDialects(schema) {
35
+ const found = new Set();
36
+ const seen = new Set();
37
+ const walk = (node) => {
38
+ if (Array.isArray(node)) {
39
+ for (const entry of node)
40
+ walk(entry);
41
+ return;
42
+ }
43
+ if (typeof node !== 'object' || node === null)
44
+ return;
45
+ // Schemas are user input and may contain a cycle.
46
+ if (seen.has(node))
47
+ return;
48
+ seen.add(node);
49
+ for (const [key, value] of Object.entries(node)) {
50
+ if ((key === '$ref' || key === '$dynamicRef' || key === '$recursiveRef') &&
51
+ typeof value === 'string') {
52
+ const dialect = dialectFor(value);
53
+ if (dialect)
54
+ found.add(dialect);
55
+ continue;
56
+ }
57
+ walk(value);
58
+ }
59
+ };
60
+ walk(schema);
61
+ return [...found];
62
+ }
63
+ /**
64
+ * Draft 7 publishes its metaschema with `$id` ending in `#`, and
65
+ * json-schema-library keys the remote registry by that string while resolving
66
+ * a reference with the fragment removed, so the two never meet and the
67
+ * document is only found when something else has already normalised it. An
68
+ * empty fragment denotes the document itself, so dropping it identifies the
69
+ * same resource; the vendored file stays byte-faithful to what the
70
+ * specification publishes and this adapts it at the boundary.
71
+ *
72
+ * The documents are also copied rather than handed over directly, because
73
+ * compileSchema normalises `$id` in place and the module-level arrays would
74
+ * otherwise be mutated for every later caller.
75
+ */
76
+ function normalize(documents) {
77
+ return documents.map((document) => {
78
+ const id = document.$id;
79
+ if (typeof id !== 'string' || !id.endsWith('#'))
80
+ return { ...document };
81
+ return { ...document, $id: id.slice(0, -1) };
82
+ });
83
+ }
84
+ /**
85
+ * The metaschema documents for the given dialects, imported on demand so a
86
+ * consumer who never references a metaschema does not carry roughly 24kB of
87
+ * specification documents.
88
+ */
89
+ export async function loadMetaschemas(dialects) {
90
+ const loaded = await Promise.all(dialects.map(async (dialect) => {
91
+ switch (dialect) {
92
+ case 'draft-07':
93
+ return (await import('./draft-07.js')).metaschemas;
94
+ case '2019-09':
95
+ return (await import('./2019-09.js')).metaschemas;
96
+ case '2020-12':
97
+ return (await import('./2020-12.js')).metaschemas;
98
+ }
99
+ }));
100
+ return normalize(loaded.flat());
101
+ }
102
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metaschemas/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { SchemaNode } from 'json-schema-library';
1
+ import { type SchemaNode } from 'json-schema-library';
2
2
  import type { SchemaProjection } from '@texaryn/core';
3
3
  /**
4
4
  * Maps a compiled json-schema-library root node to a SchemaProjection.
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EACV,gBAAgB,EAQjB,MAAM,eAAe,CAAA;AA2RtB;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAIjF"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EACV,gBAAgB,EASjB,MAAM,eAAe,CAAA;AAq0BtB;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAKjF"}