{ "$defs": { "MyComparableCell": { "asCell": true, "type": "number" }, "MyOpaque": { "asOpaque": true, "type": "boolean" }, "MyReadonlyCell": { "asCell": true, "type": "string" }, "MyStream": { "asStream": true, "type": "number" }, "MyWriteonlyCell": { "asCell": true, "type": "boolean" } }, "properties": { "comparableValue": { "$ref": "#/$defs/MyComparableCell" }, "opaqueValue": { "$ref": "#/$defs/MyOpaque" }, "readonlyValue": { "$ref": "#/$defs/MyReadonlyCell" }, "streamValue": { "$ref": "#/$defs/MyStream" }, "writeonlyValue": { "$ref": "#/$defs/MyWriteonlyCell" } }, "required": [ "comparableValue", "opaqueValue", "readonlyValue", "streamValue", "writeonlyValue" ], "type": "object" }