protodef
Version:
A simple yet powerful way to define binary protocols
45 lines • 1.09 kB
JSON
{
"switch":{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "switch",
"type": "array",
"items":[
{"enum":["switch"]},
{
"type":"object",
"properties": {
"compareTo":{"$ref": "definitions#/definitions/contextualizedFieldName"},
"compareToValue":{"type":"string"},
"fields":{
"type":"object",
"patternProperties" : {
"^[-a-zA-Z0-9 _]+$":{"$ref": "dataType"}
},
"additionalProperties": false
},
"default":{"$ref": "dataType"}
},
"oneOf":[
{
"required":["compareTo","fields"]
},
{
"required":["compareToValue","fields"]
}
],
"additionalProperties": false
}
],
"additionalItems": false
},
"option":{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "option",
"type": "array",
"items":[
{"enum":["option"]},
{"$ref": "dataType"}
],
"additionalItems": false
}
}