| { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "title": "MyStruct", |
| "type": "object", |
| "required": [ |
| "my_bool", |
| "my_int", |
| "my_nullable_enum" |
| ], |
| "properties": { |
| "my_bool": { |
| "type": "boolean" |
| }, |
| "my_int": { |
| "type": "integer", |
| "format": "int32", |
| "maximum": 10.0, |
| "minimum": 1.0 |
| }, |
| "my_nullable_enum": { |
| "oneOf": [ |
| { |
| "type": "object", |
| "required": [ |
| "StringNewType" |
| ], |
| "properties": { |
| "StringNewType": { |
| "type": "string", |
| "format": "phone" |
| } |
| }, |
| "additionalProperties": false |
| }, |
| { |
| "type": "object", |
| "required": [ |
| "StructVariant" |
| ], |
| "properties": { |
| "StructVariant": { |
| "type": "object", |
| "required": [ |
| "floats" |
| ], |
| "properties": { |
| "floats": { |
| "type": "array", |
| "items": { |
| "type": "number", |
| "format": "float" |
| }, |
| "maxItems": 100, |
| "minItems": 1 |
| } |
| } |
| } |
| }, |
| "additionalProperties": false |
| } |
| ] |
| } |
| } |
| } |