{
"$defs": {
"v1": {
"properties": {
"age": {
"minimum": 0,
"type": "integer"
},
"name": {
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"age"
],
"type": "object",
"x-jsoncompat": {
"kind": "declaration",
"name": "UserProfileV1",
"schema_ref": "#/$defs/v1",
"stable_id": "user-profile",
"version": 1
}
},
"v2": {
"properties": {
"age": {
"minimum": 0,
"type": "integer"
},
"interests": {
"type": "integer"
},
"name": {
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"age",
"interests"
],
"type": "object",
"x-jsoncompat": {
"kind": "declaration",
"name": "UserProfileV2",
"schema_ref": "#/$defs/v2",
"stable_id": "user-profile",
"version": 2
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"data": {
"$ref": "#/$defs/v2"
},
"version": {
"const": 2
}
},
"required": [
"version",
"data"
],
"type": "object",
"x-jsoncompat": {
"kind": "reader_variant",
"name": "UserProfileV2Reader",
"payload_ref": "#/$defs/v2",
"stable_id": "user-profile",
"version": 2
}
},
{
"additionalProperties": false,
"properties": {
"data": {
"$ref": "#/$defs/v1"
},
"version": {
"const": 1
}
},
"required": [
"version",
"data"
],
"type": "object",
"x-jsoncompat": {
"kind": "reader_variant",
"name": "UserProfileV1Reader",
"payload_ref": "#/$defs/v1",
"stable_id": "user-profile",
"version": 1
}
}
],
"title": "user-profile reader",
"x-jsoncompat": {
"kind": "reader",
"name": "UserProfileReader",
"stable_id": "user-profile"
}
}