169 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
		
		
			
		
	
	
			169 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
|  | { | ||
|  |     "$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 | ||
|  |         }, | ||
|  |         "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 | ||
|  | } |