flow2schema/tests/samples/inheritance.json

59 lines
1.8 KiB
JSON

{
"types": [
{
"id": ["inheritance", "A"],
"kind": "record",
"fields": [{"name": "a", "value": {"kind": "number", "repr": "f64"}, "required": true}]
},
{
"id": ["inheritance", "B"],
"kind": "intersection",
"parts": [
{"kind": "reference", "to": ["inheritance", "A"]},
{
"kind": "record",
"fields": [{"name": "b", "value": {"kind": "string"}, "required": true}]
}
]
},
{
"id": ["inheritance", "C"],
"kind": "intersection",
"parts": [
{"kind": "reference", "to": ["inheritance", "B"]},
{
"kind": "record",
"fields": [{"name": "c", "value": {"kind": "boolean"}, "required": true}]
}
]
},
{
"id": ["inheritance", "X"],
"kind": "record",
"fields": [{"name": "x", "value": {"kind": "number", "repr": "f64"}, "required": true}]
},
{
"id": ["inheritance", "Y"],
"kind": "intersection",
"parts": [
{"kind": "reference", "to": ["inheritance", "X"]},
{
"kind": "record",
"fields": [{"name": "y", "value": {"kind": "string"}, "required": true}]
}
]
},
{
"id": ["inheritance", "Z"],
"kind": "intersection",
"parts": [
{"kind": "reference", "to": ["inheritance", "Y"]},
{
"kind": "record",
"fields": [{"name": "z", "value": {"kind": "boolean"}, "required": true}]
}
]
}
]
}