3 "description": "integer type matches integers",
4 "schema": {"type": "integer"},
7 "description": "an integer is an integer",
12 "description": "a float is not an integer",
17 "description": "a string is not an integer",
22 "description": "an object is not an integer",
27 "description": "an array is not an integer",
32 "description": "a boolean is not an integer",
37 "description": "null is not an integer",
44 "description": "number type matches numbers",
45 "schema": {"type": "number"},
48 "description": "an integer is a number",
53 "description": "a float is a number",
58 "description": "a string is not a number",
63 "description": "an object is not a number",
68 "description": "an array is not a number",
73 "description": "a boolean is not a number",
78 "description": "null is not a number",
85 "description": "string type matches strings",
86 "schema": {"type": "string"},
89 "description": "1 is not a string",
94 "description": "a float is not a string",
99 "description": "a string is a string",
104 "description": "an object is not a string",
109 "description": "an array is not a string",
114 "description": "a boolean is not a string",
119 "description": "null is not a string",
126 "description": "object type matches objects",
127 "schema": {"type": "object"},
130 "description": "an integer is not an object",
135 "description": "a float is not an object",
140 "description": "a string is not an object",
145 "description": "an object is an object",
150 "description": "an array is not an object",
155 "description": "a boolean is not an object",
160 "description": "null is not an object",
167 "description": "array type matches arrays",
168 "schema": {"type": "array"},
171 "description": "an integer is not an array",
176 "description": "a float is not an array",
181 "description": "a string is not an array",
186 "description": "an object is not an array",
191 "description": "an array is an array",
196 "description": "a boolean is not an array",
201 "description": "null is not an array",
208 "description": "boolean type matches booleans",
209 "schema": {"type": "boolean"},
212 "description": "an integer is not a boolean",
217 "description": "a float is not a boolean",
222 "description": "a string is not a boolean",
227 "description": "an object is not a boolean",
232 "description": "an array is not a boolean",
237 "description": "a boolean is a boolean",
242 "description": "null is not a boolean",
249 "description": "null type matches only the null object",
250 "schema": {"type": "null"},
253 "description": "an integer is not null",
258 "description": "a float is not null",
263 "description": "a string is not null",
268 "description": "an object is not null",
273 "description": "an array is not null",
278 "description": "a boolean is not null",
283 "description": "null is null",
290 "description": "any type matches any type",
291 "schema": {"type": "any"},
294 "description": "any type includes integers",
299 "description": "any type includes float",
304 "description": "any type includes string",
309 "description": "any type includes object",
314 "description": "any type includes array",
319 "description": "any type includes boolean",
324 "description": "any type includes null",
331 "description": "multiple types can be specified in an array",
332 "schema": {"type": ["integer", "string"]},
335 "description": "an integer is valid",
340 "description": "a string is valid",
345 "description": "a float is invalid",
350 "description": "an object is invalid",
355 "description": "an array is invalid",
360 "description": "a boolean is invalid",
365 "description": "null is invalid",
372 "description": "types can include schemas",
381 "description": "an integer is invalid",
386 "description": "a string is invalid",
391 "description": "a float is invalid",
396 "description": "an object is valid",
401 "description": "an array is valid",
406 "description": "a boolean is invalid",
411 "description": "null is invalid",
419 "when types includes a schema it should fully validate the schema",
425 "foo": {"type": "null"}
432 "description": "an integer is valid",
437 "description": "an object is valid only if it is fully valid",
438 "data": {"foo": null},
442 "description": "an object is invalid otherwise",
443 "data": {"foo": "bar"},
449 "description": "types from separate schemas are merged",
452 {"type": ["string"]},
453 {"type": ["array", "null"]}
458 "description": "an integer is invalid",
463 "description": "a string is valid",
468 "description": "an array is valid",