1[ 2 { 3 "namespace": "error_generation", 4 "description": "Generates ALL the errors.", 5 "compiler_options": { 6 "generate_error_messages": true 7 }, 8 "types": [ 9 { 10 "id": "TestType", 11 "type": "object", 12 "properties": { 13 "string": { 14 "type": "string", 15 "description": "Some string." 16 } 17 } 18 }, 19 { 20 "id": "OptionalTestType", 21 "type": "object", 22 "properties": { 23 "string": { 24 "type": "string", 25 "description": "Some string.", 26 "optional": true 27 } 28 } 29 }, 30 { 31 "id": "ChoiceType", 32 "type": "object", 33 "properties": { 34 "integers": { 35 "choices": [ 36 {"type": "array", "items": {"type": "integer", "minimum": 0}}, 37 {"type": "integer"} 38 ] 39 } 40 } 41 }, 42 { 43 "id": "OptionalChoiceType", 44 "type": "object", 45 "properties": { 46 "integers": { 47 "choices": [ 48 {"type": "array", "items": {"type": "integer", "minimum": 0}}, 49 {"type": "integer"} 50 ], 51 "optional": true 52 } 53 } 54 }, 55 { 56 "id": "ObjectType", 57 "type": "object", 58 "properties": { 59 "otherType": { 60 "$ref": "error_generation.TestType", 61 "optional": true 62 } 63 } 64 }, 65 { 66 "id": "Enumeration", 67 "type": "string", 68 "enum": ["one", "two", "three"] 69 }, 70 { 71 "id": "HasEnumeration", 72 "type": "object", 73 "properties": { 74 "enumeration": { 75 "$ref": "Enumeration" 76 } 77 } 78 }, 79 { 80 "id": "BinaryData", 81 "type": "object", 82 "properties": { 83 "data": { 84 "type" : "binary" 85 } 86 } 87 }, 88 { 89 "id": "OptionalBinaryData", 90 "type": "object", 91 "properties": { 92 "data": { 93 "type" : "binary", 94 "optional": true 95 } 96 } 97 }, 98 { 99 "id": "ArrayObject", 100 "type": "object", 101 "properties": { 102 "TheArray": { 103 "type": "array", 104 "items": {"type": "string"}, 105 "optional": true, 106 "description": "Expecting a list?" 107 } 108 } 109 } 110 ], 111 "functions": [ 112 { 113 "name": "testString", 114 "type": "function", 115 "description": "Takes a string. Or not.", 116 "parameters": [ 117 { 118 "name": "str", 119 "type": "string", 120 "optional": true 121 } 122 ] 123 }, 124 { 125 "name": "testFunction", 126 "type": "function", 127 "description": "Specifies a number of parameters.", 128 "parameters": [ 129 { 130 "name": "num", 131 "type": "integer" 132 } 133 ] 134 }, 135 { 136 "name": "testTypeInObject", 137 "type": "function", 138 "description": "Takes a TestType.", 139 "parameters": [ 140 { 141 "name": "paramObject", 142 "type": "object", 143 "properties": { 144 "testType": {"$ref": "error_generation.TestType", "optional": true}, 145 "boolean": {"type": "boolean"} 146 } 147 } 148 ] 149 } 150 ] 151 } 152] 153