///|
// Generated by metaschemas/update.mbtx from json-schema-org/json-schema-spec @ add836e705c9a07434c467b6b90946ba45258a73.
// See metaschemas/README.md for source and licensing.
fn builtin_metaschema(uri : String) -> Json? {
let text = match uri {
"https://json-schema.org/draft/2020-12/schema" =>
(
#|{
#| "$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
#| }
#| }
#|}
#|
)
"https://json-schema.org/draft/2020-12/meta/core" =>
(
#|{
#| "$schema": "https://json-schema.org/draft/2020-12/schema",
#| "$id": "https://json-schema.org/draft/2020-12/meta/core",
#| "$vocabulary": {
#| "https://json-schema.org/draft/2020-12/vocab/core": true
#| },
#| "$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"
#| }
#| }
#|}
#|
)
"https://json-schema.org/draft/2020-12/meta/applicator" =>
(
#|{
#| "$schema": "https://json-schema.org/draft/2020-12/schema",
#| "$id": "https://json-schema.org/draft/2020-12/meta/applicator",
#| "$vocabulary": {
#| "https://json-schema.org/draft/2020-12/vocab/applicator": true
#| },
#| "$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" }
#| }
#| }
#|}
#|
)
"https://json-schema.org/draft/2020-12/meta/validation" =>
(
#|{
#| "$schema": "https://json-schema.org/draft/2020-12/schema",
#| "$id": "https://json-schema.org/draft/2020-12/meta/validation",
#| "$vocabulary": {
#| "https://json-schema.org/draft/2020-12/vocab/validation": true
#| },
#| "$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": []
#| }
#| }
#|}
#|
)
"https://json-schema.org/draft/2020-12/meta/unevaluated" =>
(
#|{
#| "$schema": "https://json-schema.org/draft/2020-12/schema",
#| "$id": "https://json-schema.org/draft/2020-12/meta/unevaluated",
#| "$vocabulary": {
#| "https://json-schema.org/draft/2020-12/vocab/unevaluated": true
#| },
#| "$dynamicAnchor": "meta",
#|
#| "title": "Unevaluated applicator vocabulary meta-schema",
#| "type": ["object", "boolean"],
#| "properties": {
#| "unevaluatedItems": { "$dynamicRef": "#meta" },
#| "unevaluatedProperties": { "$dynamicRef": "#meta" }
#| }
#|}
#|
)
"https://json-schema.org/draft/2020-12/meta/meta-data" =>
(
#|{
#| "$schema": "https://json-schema.org/draft/2020-12/schema",
#| "$id": "https://json-schema.org/draft/2020-12/meta/meta-data",
#| "$vocabulary": {
#| "https://json-schema.org/draft/2020-12/vocab/meta-data": true
#| },
#| "$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
#| }
#| }
#|}
#|
)
"https://json-schema.org/draft/2020-12/meta/format-annotation" =>
(
#|{
#| "$schema": "https://json-schema.org/draft/2020-12/schema",
#| "$id": "https://json-schema.org/draft/2020-12/meta/format-annotation",
#| "$vocabulary": {
#| "https://json-schema.org/draft/2020-12/vocab/format-annotation": true
#| },
#| "$dynamicAnchor": "meta",
#|
#| "title": "Format vocabulary meta-schema for annotation results",
#| "type": ["object", "boolean"],
#| "properties": {
#| "format": { "type": "string" }
#| }
#|}
#|
)
"https://json-schema.org/draft/2020-12/meta/content" =>
(
#|{
#| "$schema": "https://json-schema.org/draft/2020-12/schema",
#| "$id": "https://json-schema.org/draft/2020-12/meta/content",
#| "$vocabulary": {
#| "https://json-schema.org/draft/2020-12/vocab/content": true
#| },
#| "$dynamicAnchor": "meta",
#|
#| "title": "Content vocabulary meta-schema",
#|
#| "type": ["object", "boolean"],
#| "properties": {
#| "contentEncoding": { "type": "string" },
#| "contentMediaType": { "type": "string" },
#| "contentSchema": { "$dynamicRef": "#meta" }
#| }
#|}
#|
)
_ => return None
}
Some(parse(text) catch { _ => abort("invalid embedded standard metaschema") })
}
///|
fn builtin_metaschema_uri(uri : String) -> Bool {
match uri {
"https://json-schema.org/draft/2020-12/schema" => true
"https://json-schema.org/draft/2020-12/meta/core" => true
"https://json-schema.org/draft/2020-12/meta/applicator" => true
"https://json-schema.org/draft/2020-12/meta/validation" => true
"https://json-schema.org/draft/2020-12/meta/unevaluated" => true
"https://json-schema.org/draft/2020-12/meta/meta-data" => true
"https://json-schema.org/draft/2020-12/meta/format-annotation" => true
"https://json-schema.org/draft/2020-12/meta/content" => true
_ => false
}
}