| #include <json-schema.hpp> |
| |
| namespace nlohmann |
| { |
| namespace json_schema_draft4 |
| { |
| |
| json draft4_schema_builtin = R"( { |
| "id": "http://json-schema.org/draft-04/schema#", |
| "$schema": "http://json-schema.org/draft-04/schema#", |
| "description": "Core schema meta-schema", |
| "definitions": { |
| "schemaArray": { |
| "type": "array", |
| "minItems": 1, |
| "items": { "$ref": "#" } |
| }, |
| "positiveInteger": { |
| "type": "integer", |
| "minimum": 0 |
| }, |
| "positiveIntegerDefault0": { |
| "allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ] |
| }, |
| "simpleTypes": { |
| "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ] |
| }, |
| "stringArray": { |
| "type": "array", |
| "items": { "type": "string" }, |
| "minItems": 1, |
| "uniqueItems": true |
| } |
| }, |
| "type": "object", |
| "properties": { |
| "id": { |
| "type": "string", |
| "format": "uri" |
| }, |
| "$schema": { |
| "type": "string", |
| "format": "uri" |
| }, |
| "title": { |
| "type": "string" |
| }, |
| "description": { |
| "type": "string" |
| }, |
| "default": {}, |
| "multipleOf": { |
| "type": "number", |
| "minimum": 0, |
| "exclusiveMinimum": true |
| }, |
| "maximum": { |
| "type": "number" |
| }, |
| "exclusiveMaximum": { |
| "type": "boolean", |
| "default": false |
| }, |
| "minimum": { |
| "type": "number" |
| }, |
| "exclusiveMinimum": { |
| "type": "boolean", |
| "default": false |
| }, |
| "maxLength": { "$ref": "#/definitions/positiveInteger" }, |
| "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" }, |
| "pattern": { |
| "type": "string", |
| "format": "regex" |
| }, |
| "additionalItems": { |
| "anyOf": [ |
| { "type": "boolean" }, |
| { "$ref": "#" } |
| ], |
| "default": {} |
| }, |
| "items": { |
| "anyOf": [ |
| { "$ref": "#" }, |
| { "$ref": "#/definitions/schemaArray" } |
| ], |
| "default": {} |
| }, |
| "maxItems": { "$ref": "#/definitions/positiveInteger" }, |
| "minItems": { "$ref": "#/definitions/positiveIntegerDefault0" }, |
| "uniqueItems": { |
| "type": "boolean", |
| "default": false |
| }, |
| "maxProperties": { "$ref": "#/definitions/positiveInteger" }, |
| "minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" }, |
| "required": { "$ref": "#/definitions/stringArray" }, |
| "additionalProperties": { |
| "anyOf": [ |
| { "type": "boolean" }, |
| { "$ref": "#" } |
| ], |
| "default": {} |
| }, |
| "definitions": { |
| "type": "object", |
| "additionalProperties": { "$ref": "#" }, |
| "default": {} |
| }, |
| "properties": { |
| "type": "object", |
| "additionalProperties": { "$ref": "#" }, |
| "default": {} |
| }, |
| "patternProperties": { |
| "type": "object", |
| "additionalProperties": { "$ref": "#" }, |
| "default": {} |
| }, |
| "dependencies": { |
| "type": "object", |
| "additionalProperties": { |
| "anyOf": [ |
| { "$ref": "#" }, |
| { "$ref": "#/definitions/stringArray" } |
| ] |
| } |
| }, |
| "enum": { |
| "type": "array", |
| "minItems": 1, |
| "uniqueItems": true |
| }, |
| "type": { |
| "anyOf": [ |
| { "$ref": "#/definitions/simpleTypes" }, |
| { |
| "type": "array", |
| "items": { "$ref": "#/definitions/simpleTypes" }, |
| "minItems": 1, |
| "uniqueItems": true |
| } |
| ] |
| }, |
| "allOf": { "$ref": "#/definitions/schemaArray" }, |
| "anyOf": { "$ref": "#/definitions/schemaArray" }, |
| "oneOf": { "$ref": "#/definitions/schemaArray" }, |
| "not": { "$ref": "#" } |
| }, |
| "dependencies": { |
| "exclusiveMaximum": [ "maximum" ], |
| "exclusiveMinimum": [ "minimum" ] |
| }, |
| "default": {} |
| } )"_json; |
| |
| } |
| } |