{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "MyStruct",
"type": "object",
"required": [
"bound",
"inclusive",
"range"
],
"properties": {
"range": {
"$ref": "#/definitions/Range_of_uint"
},
"inclusive": {
"$ref": "#/definitions/Range_of_double"
},
"bound": {
"$ref": "#/definitions/Bound_of_String"
}
},
"definitions": {
"Range_of_uint": {
"type": "object",
"required": [
"end",
"start"
],
"properties": {
"start": {
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"end": {
"type": "integer",
"format": "uint",
"minimum": 0.0
}
}
},
"Range_of_double": {
"type": "object",
"required": [
"end",
"start"
],
"properties": {
"start": {
"type": "number",
"format": "double"
},
"end": {
"type": "number",
"format": "double"
}
}
},
"Bound_of_String": {
"oneOf": [
{
"type": "object",
"required": [
"Included"
],
"properties": {
"Included": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"Excluded"
],
"properties": {
"Excluded": {
"type": "string"
}
}
},
{
"type": "string",
"const": "Unbounded"
}
]
}
}
}