mirror of
https://github.com/musix-org/musix-oss
synced 2024-12-23 22:33:17 +00:00
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
|
||
|
}
|