- add sources.
[platform/framework/web/crosswalk.git] / src / tools / json_schema_compiler / test / enums.json
1 [
2   {
3     "namespace": "enums",
4     "description": "The enums API.",
5     "types": [
6       {
7         "id": "Enumeration",
8         "type": "string",
9         "enum": ["one", "two", "three"]
10       },
11       {
12         "id": "EnumType",
13         "type": "object",
14         "properties": {
15           "type": {
16             "type": "string",
17             "enum": ["one", "two", "three"]
18           }
19         }
20       },
21       {
22         "id": "HasEnumeration",
23         "type": "object",
24         "properties": {
25           "enumeration": {
26             "$ref": "Enumeration"
27           },
28           "optional_enumeration": {
29             "$ref": "Enumeration",
30             "optional": true
31           }
32         }
33       },
34       {
35         "id": "OptionalEnumType",
36         "type": "object",
37         "properties": {
38           "type": {
39             "type": "string",
40             "enum": ["one", "two", "three"],
41             "optional": true
42           }
43         }
44       }
45     ],
46     "functions": [
47       {
48         "name": "takesEnum",
49         "type": "function",
50         "description": "Takes an enum as its parameter.",
51         "parameters": [
52           {
53             "name": "state",
54             "type": "string",
55             "enum": ["foo", "bar", "baz"]
56           },
57           {
58             "name": "callback",
59             "type": "function",
60             "parameters": []
61           }
62         ]
63       },
64       {
65         "name": "takesEnumArray",
66         "type": "function",
67         "description": "Takes an enum array as its parameter.",
68         "parameters": [
69           {
70             "name": "values",
71             "type": "array",
72             "items": {
73               "type": "string",
74               "enum": ["foo", "bar", "baz"]
75             }
76           },
77           {
78             "name": "callback",
79             "type": "function",
80             "parameters": []
81           }
82         ]
83       },
84       {
85         "name": "takesEnumAsType",
86         "type": "function",
87         "description": "Takes an enum type as its parameter.",
88         "parameters": [
89           {
90             "name": "enumeration",
91             "$ref": "Enumeration"
92           },
93           {
94             "name": "callback",
95             "type": "function",
96             "parameters": []
97           }
98         ]
99       },
100       {
101         "name": "takesEnumArrayAsType",
102         "type": "function",
103         "description": "Takes an enum type array as its parameter.",
104         "parameters": [
105           {
106             "name": "values",
107             "type": "array",
108             "items": {
109               "$ref": "Enumeration"
110             }
111           },
112           {
113             "name": "callback",
114             "type": "function",
115             "parameters": []
116           }
117         ]
118       },
119       {
120         "name": "returnsEnum",
121         "type": "function",
122         "description": "Returns an enum through the callback",
123         "parameters": [
124           {
125             "name": "callback",
126             "type": "function",
127             "parameters": [
128               {
129                 "name": "state",
130                 "type": "string",
131                 "enum": ["foo", "bar", "baz"]
132               }
133             ]
134           }
135         ]
136       },
137       {
138         "name": "returnsEnumAsType",
139         "type": "function",
140         "description": "Returns an enum through the callback",
141         "parameters": [
142           {
143             "name": "callback",
144             "type": "function",
145             "parameters": [
146               {
147                 "name": "enumeration",
148                 "$ref": "Enumeration"
149               }
150             ]
151           }
152         ]
153       },
154       {
155         "name": "returnsTwoEnums",
156         "type": "function",
157         "description": "Returns two enums through the callback",
158         "parameters": [
159           {
160             "name": "callback",
161             "type": "function",
162             "parameters": [
163               {
164                 "name": "firstState",
165                 "type": "string",
166                 "enum": ["foo", "bar", "baz"]
167               },
168               {
169                 "name": "secondState",
170                 "type": "string",
171                 "enum": ["spam", "ham", "eggs"]
172               }
173             ]
174           }
175         ]
176       },
177       {
178         "name": "takesOptionalEnum",
179         "type": "function",
180         "description": "Takes an enum as its parameter.",
181         "parameters": [
182           {
183             "name": "state",
184             "type": "string",
185             "enum": ["foo", "bar", "baz"],
186             "optional": true
187           },
188           {
189             "name": "callback",
190             "type": "function",
191             "parameters": []
192           }
193         ]
194       },
195       {
196         "name": "takesMultipleOptionalEnums",
197         "type": "function",
198         "description": "Takes two enums as parameters.",
199         "parameters": [
200           {
201             "name": "state",
202             "type": "string",
203             "enum": ["foo", "bar", "baz"],
204             "optional": true
205           },
206           {
207             "name": "type",
208             "type": "string",
209             "enum": ["foo", "ding", "dong"],
210             "optional": true
211           },
212           {
213             "name": "callback",
214             "type": "function",
215             "parameters": []
216           }
217         ]
218       }
219     ],
220     "events": [
221       {
222         "name": "onEnumFired",
223         "type": "function",
224         "description": "Fired when an enum is ready.",
225         "parameters": [
226           {
227             "name": "someEnum",
228             "type": "string",
229             "enum": ["foo", "bar", "baz"]
230           }
231         ]
232       },
233       {
234         "name": "onTwoEnumsFired",
235         "type": "function",
236         "description": "Fired when two enums are ready.",
237         "parameters": [
238           {
239             "name": "firstEnum",
240             "type": "string",
241             "enum": ["foo", "bar", "baz"]
242           },
243           {
244             "name": "secondEnum",
245             "type": "string",
246             "enum": ["spam", "ham", "eggs"]
247           }
248         ]
249       }
250     ]
251   }
252 ]