1{
2  "$schema": "http://json-schema.org/draft-04/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_Any" : {
13      "type" : "string",
14      "enum": ["NONE", "Monster", "TestSimpleTableWithEnum", "MyGame_Example2_Monster"]
15    },
16    "MyGame_Example_AnyUniqueAliases" : {
17      "type" : "string",
18      "enum": ["NONE", "M", "T", "M2"]
19    },
20    "MyGame_Example_AnyAmbiguousAliases" : {
21      "type" : "string",
22      "enum": ["NONE", "M1", "M2", "M3"]
23    },
24    "MyGame_OtherNameSpace_Unused" : {
25      "type" : "object",
26      "properties" : {
27        "a" : { "type" : "number" }
28      },
29      "additionalProperties" : false
30    },
31    "MyGame_OtherNameSpace_TableB" : {
32      "type" : "object",
33      "properties" : {
34        "a" : { "$ref" : "#/definitions/TableA" }
35      },
36      "additionalProperties" : false
37    },
38    "TableA" : {
39      "type" : "object",
40      "properties" : {
41        "b" : { "$ref" : "#/definitions/MyGame_OtherNameSpace_TableB" }
42      },
43      "additionalProperties" : false
44    },
45    "MyGame_InParentNamespace" : {
46      "type" : "object",
47      "properties" : {
48      },
49      "additionalProperties" : false
50    },
51    "MyGame_Example2_Monster" : {
52      "type" : "object",
53      "properties" : {
54      },
55      "additionalProperties" : false
56    },
57    "MyGame_Example_Test" : {
58      "type" : "object",
59      "properties" : {
60        "a" : { "type" : "number" },
61        "b" : { "type" : "number" }
62      },
63      "additionalProperties" : false
64    },
65    "MyGame_Example_TestSimpleTableWithEnum" : {
66      "type" : "object",
67      "properties" : {
68        "color" : { "$ref" : "#/definitions/MyGame_Example_Color" }
69      },
70      "additionalProperties" : false
71    },
72    "MyGame_Example_Vec3" : {
73      "type" : "object",
74      "properties" : {
75        "x" : { "type" : "number" },
76        "y" : { "type" : "number" },
77        "z" : { "type" : "number" },
78        "test1" : { "type" : "number" },
79        "test2" : { "$ref" : "#/definitions/MyGame_Example_Color" },
80        "test3" : { "$ref" : "#/definitions/MyGame_Example_Test" }
81      },
82      "additionalProperties" : false
83    },
84    "MyGame_Example_Ability" : {
85      "type" : "object",
86      "properties" : {
87        "id" : { "type" : "number" },
88        "distance" : { "type" : "number" }
89      },
90      "additionalProperties" : false
91    },
92    "MyGame_Example_Stat" : {
93      "type" : "object",
94      "properties" : {
95        "id" : { "type" : "string" },
96        "val" : { "type" : "number" },
97        "count" : { "type" : "number" }
98      },
99      "additionalProperties" : false
100    },
101    "MyGame_Example_Referrable" : {
102      "type" : "object",
103      "properties" : {
104        "id" : { "type" : "number" }
105      },
106      "additionalProperties" : false
107    },
108    "MyGame_Example_Monster" : {
109      "type" : "object",
110      "description" : " an example documentation comment: monster object",
111      "properties" : {
112        "pos" : { "$ref" : "#/definitions/MyGame_Example_Vec3" },
113        "mana" : { "type" : "number" },
114        "hp" : { "type" : "number" },
115        "name" : { "type" : "string" },
116        "friendly" : { "type" : "boolean" },
117        "inventory" : { "type" : "array", "items" : { "type" : "number" } },
118        "color" : { "$ref" : "#/definitions/MyGame_Example_Color" },
119        "test_type" : { "$ref" : "#/definitions/MyGame_Example_Any" },
120        "test" : { "anyOf": [{ "$ref" : "#/definitions/MyGame_Example_Monster" },{ "$ref" : "#/definitions/MyGame_Example_TestSimpleTableWithEnum" },{ "$ref" : "#/definitions/MyGame_Example2_Monster" }] },
121        "test4" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Test" } },
122        "testarrayofstring" : { "type" : "array", "items" : { "type" : "string" } },
123        "testarrayoftables" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Monster" } },
124        "enemy" : { "$ref" : "#/definitions/MyGame_Example_Monster" },
125        "testnestedflatbuffer" : { "type" : "array", "items" : { "type" : "number" } },
126        "testempty" : { "$ref" : "#/definitions/MyGame_Example_Stat" },
127        "testbool" : { "type" : "boolean" },
128        "testhashs32_fnv1" : { "type" : "number" },
129        "testhashu32_fnv1" : { "type" : "number" },
130        "testhashs64_fnv1" : { "type" : "number" },
131        "testhashu64_fnv1" : { "type" : "number" },
132        "testhashs32_fnv1a" : { "type" : "number" },
133        "testhashu32_fnv1a" : { "type" : "number" },
134        "testhashs64_fnv1a" : { "type" : "number" },
135        "testhashu64_fnv1a" : { "type" : "number" },
136        "testarrayofbools" : { "type" : "array", "items" : { "type" : "boolean" } },
137        "testf" : { "type" : "number" },
138        "testf2" : { "type" : "number" },
139        "testf3" : { "type" : "number" },
140        "testarrayofstring2" : { "type" : "array", "items" : { "type" : "string" } },
141        "testarrayofsortedstruct" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Ability" } },
142        "flex" : { "type" : "array", "items" : { "type" : "number" } },
143        "test5" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Test" } },
144        "vector_of_longs" : { "type" : "array", "items" : { "type" : "number" } },
145        "vector_of_doubles" : { "type" : "array", "items" : { "type" : "number" } },
146        "parent_namespace_test" : { "$ref" : "#/definitions/MyGame_InParentNamespace" },
147        "vector_of_referrables" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Referrable" } },
148        "single_weak_reference" : { "type" : "number" },
149        "vector_of_weak_references" : { "type" : "array", "items" : { "type" : "number" } },
150        "vector_of_strong_referrables" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Referrable" } },
151        "co_owning_reference" : { "type" : "number" },
152        "vector_of_co_owning_references" : { "type" : "array", "items" : { "type" : "number" } },
153        "non_owning_reference" : { "type" : "number" },
154        "vector_of_non_owning_references" : { "type" : "array", "items" : { "type" : "number" } },
155        "any_unique_type" : { "$ref" : "#/definitions/MyGame_Example_AnyUniqueAliases" },
156        "any_unique" : { "anyOf": [{ "$ref" : "#/definitions/MyGame_Example_Monster" },{ "$ref" : "#/definitions/MyGame_Example_TestSimpleTableWithEnum" },{ "$ref" : "#/definitions/MyGame_Example2_Monster" }] },
157        "any_ambiguous_type" : { "$ref" : "#/definitions/MyGame_Example_AnyAmbiguousAliases" },
158        "any_ambiguous" : { "anyOf": [{ "$ref" : "#/definitions/MyGame_Example_Monster" },{ "$ref" : "#/definitions/MyGame_Example_Monster" },{ "$ref" : "#/definitions/MyGame_Example_Monster" }] },
159        "vector_of_enums" : { "$ref" : "#/definitions/MyGame_Example_Color" }
160      },
161      "required" : ["name"],
162      "additionalProperties" : false
163    },
164    "MyGame_Example_TypeAliases" : {
165      "type" : "object",
166      "properties" : {
167        "i8" : { "type" : "number" },
168        "u8" : { "type" : "number" },
169        "i16" : { "type" : "number" },
170        "u16" : { "type" : "number" },
171        "i32" : { "type" : "number" },
172        "u32" : { "type" : "number" },
173        "i64" : { "type" : "number" },
174        "u64" : { "type" : "number" },
175        "f32" : { "type" : "number" },
176        "f64" : { "type" : "number" },
177        "v8" : { "type" : "array", "items" : { "type" : "number" } },
178        "vf64" : { "type" : "array", "items" : { "type" : "number" } }
179      },
180      "additionalProperties" : false
181    }
182  },
183  "$ref" : "#/definitions/MyGame_Example_Monster"
184}
185