1{ 2 "$schema": "https://json-schema.org/draft/2019-09/schema", 3 "definitions": { 4 "MyGame_OtherNameSpace_FromInclude" : { 5 "type" : "string", 6 "enum": ["IncludeVal"] 7 }, 8 "MyGame_Example_Color" : { 9 "type" : "string", 10 "enum": ["Red", "Green", "Blue"] 11 }, 12 "MyGame_Example_Race" : { 13 "type" : "string", 14 "enum": ["None", "Human", "Dwarf", "Elf"] 15 }, 16 "MyGame_Example_LongEnum" : { 17 "type" : "string", 18 "enum": ["LongOne", "LongTwo", "LongBig"] 19 }, 20 "MyGame_Example_Any" : { 21 "type" : "string", 22 "enum": ["NONE", "Monster", "TestSimpleTableWithEnum", "MyGame_Example2_Monster"] 23 }, 24 "MyGame_Example_AnyUniqueAliases" : { 25 "type" : "string", 26 "enum": ["NONE", "M", "TS", "M2"] 27 }, 28 "MyGame_Example_AnyAmbiguousAliases" : { 29 "type" : "string", 30 "enum": ["NONE", "M1", "M2", "M3"] 31 }, 32 "MyGame_OtherNameSpace_Unused" : { 33 "type" : "object", 34 "properties" : { 35 "a" : { 36 "type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647 37 } 38 }, 39 "additionalProperties" : false 40 }, 41 "MyGame_OtherNameSpace_TableB" : { 42 "type" : "object", 43 "properties" : { 44 "a" : { 45 "$ref" : "#/definitions/TableA" 46 } 47 }, 48 "additionalProperties" : false 49 }, 50 "TableA" : { 51 "type" : "object", 52 "properties" : { 53 "b" : { 54 "$ref" : "#/definitions/MyGame_OtherNameSpace_TableB" 55 } 56 }, 57 "additionalProperties" : false 58 }, 59 "MyGame_InParentNamespace" : { 60 "type" : "object", 61 "properties" : { 62 }, 63 "additionalProperties" : false 64 }, 65 "MyGame_Example2_Monster" : { 66 "type" : "object", 67 "properties" : { 68 }, 69 "additionalProperties" : false 70 }, 71 "MyGame_Example_Test" : { 72 "type" : "object", 73 "properties" : { 74 "a" : { 75 "type" : "integer", "minimum" : -32768, "maximum" : 32767 76 }, 77 "b" : { 78 "type" : "integer", "minimum" : -128, "maximum" : 127 79 } 80 }, 81 "additionalProperties" : false 82 }, 83 "MyGame_Example_TestSimpleTableWithEnum" : { 84 "type" : "object", 85 "properties" : { 86 "color" : { 87 "$ref" : "#/definitions/MyGame_Example_Color" 88 } 89 }, 90 "additionalProperties" : false 91 }, 92 "MyGame_Example_Vec3" : { 93 "type" : "object", 94 "properties" : { 95 "x" : { 96 "type" : "number" 97 }, 98 "y" : { 99 "type" : "number" 100 }, 101 "z" : { 102 "type" : "number" 103 }, 104 "test1" : { 105 "type" : "number" 106 }, 107 "test2" : { 108 "$ref" : "#/definitions/MyGame_Example_Color" 109 }, 110 "test3" : { 111 "$ref" : "#/definitions/MyGame_Example_Test" 112 } 113 }, 114 "additionalProperties" : false 115 }, 116 "MyGame_Example_Ability" : { 117 "type" : "object", 118 "properties" : { 119 "id" : { 120 "type" : "integer", "minimum" : 0, "maximum" : 4294967295 121 }, 122 "distance" : { 123 "type" : "integer", "minimum" : 0, "maximum" : 4294967295 124 } 125 }, 126 "additionalProperties" : false 127 }, 128 "MyGame_Example_StructOfStructs" : { 129 "type" : "object", 130 "properties" : { 131 "a" : { 132 "$ref" : "#/definitions/MyGame_Example_Ability" 133 }, 134 "b" : { 135 "$ref" : "#/definitions/MyGame_Example_Test" 136 }, 137 "c" : { 138 "$ref" : "#/definitions/MyGame_Example_Ability" 139 } 140 }, 141 "additionalProperties" : false 142 }, 143 "MyGame_Example_StructOfStructsOfStructs" : { 144 "type" : "object", 145 "properties" : { 146 "a" : { 147 "$ref" : "#/definitions/MyGame_Example_StructOfStructs" 148 } 149 }, 150 "additionalProperties" : false 151 }, 152 "MyGame_Example_Stat" : { 153 "type" : "object", 154 "properties" : { 155 "id" : { 156 "type" : "string" 157 }, 158 "val" : { 159 "type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807 160 }, 161 "count" : { 162 "type" : "integer", "minimum" : 0, "maximum" : 65535 163 } 164 }, 165 "additionalProperties" : false 166 }, 167 "MyGame_Example_Referrable" : { 168 "type" : "object", 169 "properties" : { 170 "id" : { 171 "type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615 172 } 173 }, 174 "additionalProperties" : false 175 }, 176 "MyGame_Example_Monster" : { 177 "type" : "object", 178 "description" : "an example documentation comment: \"monster object\"", 179 "properties" : { 180 "pos" : { 181 "$ref" : "#/definitions/MyGame_Example_Vec3" 182 }, 183 "mana" : { 184 "type" : "integer", "minimum" : -32768, "maximum" : 32767 185 }, 186 "hp" : { 187 "type" : "integer", "minimum" : -32768, "maximum" : 32767 188 }, 189 "name" : { 190 "type" : "string" 191 }, 192 "friendly" : { 193 "type" : "boolean", 194 "deprecated" : true 195 }, 196 "inventory" : { 197 "type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" :255} 198 }, 199 "color" : { 200 "$ref" : "#/definitions/MyGame_Example_Color" 201 }, 202 "test_type" : { 203 "$ref" : "#/definitions/MyGame_Example_Any" 204 }, 205 "test" : { 206 "anyOf": [{ "$ref" : "#/definitions/MyGame_Example_Monster" },{ "$ref" : "#/definitions/MyGame_Example_TestSimpleTableWithEnum" },{ "$ref" : "#/definitions/MyGame_Example2_Monster" }] 207 }, 208 "test4" : { 209 "type" : "array", "items" : {"$ref" : "#/definitions/MyGame_Example_Test"} 210 }, 211 "testarrayofstring" : { 212 "type" : "array", "items" : {"type" : "string"} 213 }, 214 "testarrayoftables" : { 215 "type" : "array", "items" : {"$ref" : "#/definitions/MyGame_Example_Monster"}, 216 "description" : "an example documentation comment: this will end up in the generated code\nmultiline too" 217 }, 218 "enemy" : { 219 "$ref" : "#/definitions/MyGame_Example_Monster" 220 }, 221 "testnestedflatbuffer" : { 222 "type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" :255} 223 }, 224 "testempty" : { 225 "$ref" : "#/definitions/MyGame_Example_Stat" 226 }, 227 "testbool" : { 228 "type" : "boolean" 229 }, 230 "testhashs32_fnv1" : { 231 "type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647 232 }, 233 "testhashu32_fnv1" : { 234 "type" : "integer", "minimum" : 0, "maximum" : 4294967295 235 }, 236 "testhashs64_fnv1" : { 237 "type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807 238 }, 239 "testhashu64_fnv1" : { 240 "type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615 241 }, 242 "testhashs32_fnv1a" : { 243 "type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647 244 }, 245 "testhashu32_fnv1a" : { 246 "type" : "integer", "minimum" : 0, "maximum" : 4294967295 247 }, 248 "testhashs64_fnv1a" : { 249 "type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807 250 }, 251 "testhashu64_fnv1a" : { 252 "type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615 253 }, 254 "testarrayofbools" : { 255 "type" : "array", "items" : {"type" : "boolean"} 256 }, 257 "testf" : { 258 "type" : "number" 259 }, 260 "testf2" : { 261 "type" : "number" 262 }, 263 "testf3" : { 264 "type" : "number" 265 }, 266 "testarrayofstring2" : { 267 "type" : "array", "items" : {"type" : "string"} 268 }, 269 "testarrayofsortedstruct" : { 270 "type" : "array", "items" : {"$ref" : "#/definitions/MyGame_Example_Ability"} 271 }, 272 "flex" : { 273 "type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" :255} 274 }, 275 "test5" : { 276 "type" : "array", "items" : {"$ref" : "#/definitions/MyGame_Example_Test"} 277 }, 278 "vector_of_longs" : { 279 "type" : "array", "items" : {"type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807} 280 }, 281 "vector_of_doubles" : { 282 "type" : "array", "items" : {"type" : "number"} 283 }, 284 "parent_namespace_test" : { 285 "$ref" : "#/definitions/MyGame_InParentNamespace" 286 }, 287 "vector_of_referrables" : { 288 "type" : "array", "items" : {"$ref" : "#/definitions/MyGame_Example_Referrable"} 289 }, 290 "single_weak_reference" : { 291 "type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615 292 }, 293 "vector_of_weak_references" : { 294 "type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615} 295 }, 296 "vector_of_strong_referrables" : { 297 "type" : "array", "items" : {"$ref" : "#/definitions/MyGame_Example_Referrable"} 298 }, 299 "co_owning_reference" : { 300 "type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615 301 }, 302 "vector_of_co_owning_references" : { 303 "type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615} 304 }, 305 "non_owning_reference" : { 306 "type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615 307 }, 308 "vector_of_non_owning_references" : { 309 "type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615} 310 }, 311 "any_unique_type" : { 312 "$ref" : "#/definitions/MyGame_Example_AnyUniqueAliases" 313 }, 314 "any_unique" : { 315 "anyOf": [{ "$ref" : "#/definitions/MyGame_Example_Monster" },{ "$ref" : "#/definitions/MyGame_Example_TestSimpleTableWithEnum" },{ "$ref" : "#/definitions/MyGame_Example2_Monster" }] 316 }, 317 "any_ambiguous_type" : { 318 "$ref" : "#/definitions/MyGame_Example_AnyAmbiguousAliases" 319 }, 320 "any_ambiguous" : { 321 "anyOf": [{ "$ref" : "#/definitions/MyGame_Example_Monster" },{ "$ref" : "#/definitions/MyGame_Example_Monster" },{ "$ref" : "#/definitions/MyGame_Example_Monster" }] 322 }, 323 "vector_of_enums" : { 324 "type" : "array", "items" : {"$ref" : "#/definitions/MyGame_Example_Color"} 325 }, 326 "signed_enum" : { 327 "$ref" : "#/definitions/MyGame_Example_Race" 328 }, 329 "testrequirednestedflatbuffer" : { 330 "type" : "array", "items" : {"type" : "integer", "minimum" : 0, "maximum" :255} 331 }, 332 "scalar_key_sorted_tables" : { 333 "type" : "array", "items" : {"$ref" : "#/definitions/MyGame_Example_Stat"} 334 }, 335 "native_inline" : { 336 "$ref" : "#/definitions/MyGame_Example_Test" 337 }, 338 "long_enum_non_enum_default" : { 339 "$ref" : "#/definitions/MyGame_Example_LongEnum" 340 }, 341 "long_enum_normal_default" : { 342 "$ref" : "#/definitions/MyGame_Example_LongEnum" 343 }, 344 "nan_default" : { 345 "type" : "number" 346 }, 347 "inf_default" : { 348 "type" : "number" 349 }, 350 "positive_inf_default" : { 351 "type" : "number" 352 }, 353 "infinity_default" : { 354 "type" : "number" 355 }, 356 "positive_infinity_default" : { 357 "type" : "number" 358 }, 359 "negative_inf_default" : { 360 "type" : "number" 361 }, 362 "negative_infinity_default" : { 363 "type" : "number" 364 }, 365 "double_inf_default" : { 366 "type" : "number" 367 } 368 }, 369 "required" : ["name"], 370 "additionalProperties" : false 371 }, 372 "MyGame_Example_TypeAliases" : { 373 "type" : "object", 374 "properties" : { 375 "i8" : { 376 "type" : "integer", "minimum" : -128, "maximum" : 127 377 }, 378 "u8" : { 379 "type" : "integer", "minimum" : 0, "maximum" :255 380 }, 381 "i16" : { 382 "type" : "integer", "minimum" : -32768, "maximum" : 32767 383 }, 384 "u16" : { 385 "type" : "integer", "minimum" : 0, "maximum" : 65535 386 }, 387 "i32" : { 388 "type" : "integer", "minimum" : -2147483648, "maximum" : 2147483647 389 }, 390 "u32" : { 391 "type" : "integer", "minimum" : 0, "maximum" : 4294967295 392 }, 393 "i64" : { 394 "type" : "integer", "minimum" : -9223372036854775808, "maximum" : 9223372036854775807 395 }, 396 "u64" : { 397 "type" : "integer", "minimum" : 0, "maximum" : 18446744073709551615 398 }, 399 "f32" : { 400 "type" : "number" 401 }, 402 "f64" : { 403 "type" : "number" 404 }, 405 "v8" : { 406 "type" : "array", "items" : {"type" : "integer", "minimum" : -128, "maximum" : 127} 407 }, 408 "vf64" : { 409 "type" : "array", "items" : {"type" : "number"} 410 } 411 }, 412 "additionalProperties" : false 413 } 414 }, 415 "$ref" : "#/definitions/MyGame_Example_Monster" 416} 417