| [ |
| { |
| "namespace": "choices", |
| "description": "The choices API.", |
| "types": [ |
| { |
| "id": "ChoiceType", |
| "type": "object", |
| "properties": { |
| "integers": { |
| "choices": [ |
| {"type": "array", "items": {"type": "integer", "minimum": 0}}, |
| {"type": "integer"} |
| ] |
| }, |
| "strings": { |
| "choices": [ |
| {"type": "array", "items": {"type": "string", "minimum": 0}}, |
| {"type": "string"} |
| ], |
| "optional": true |
| } |
| } |
| }, |
| { |
| "id": "NestedChoice", |
| "description": "Tests when some of the choices are choices themselves", |
| "choices": [ |
| {"type": "integer"}, |
| {"choices": [ |
| {"type": "string"}, |
| {"type": "boolean"} |
| ]}, |
| {"choices": [ |
| {"type": "double"}, |
| {"$ref": "ChoiceType"}, |
| {"type": "array", "items": {"$ref": "ChoiceType"}} |
| ]} |
| ] |
| } |
| ], |
| "functions": [ |
| { |
| "name": "takesIntegers", |
| "type": "function", |
| "description": "Takes one or more integers.", |
| "parameters": [ |
| { |
| "name": "nums", |
| "choices": [ |
| {"type": "array", "items": {"type": "integer", "minimum": 0}}, |
| {"type": "integer"} |
| ] |
| }, |
| { |
| "name": "callback", |
| "type": "function", |
| "parameters": [] |
| } |
| ] |
| }, |
| { |
| "name": "takesIntegersOptional", |
| "type": "function", |
| "description": "Takes one or more integers.", |
| "parameters": [ |
| { |
| "name": "nums", |
| "choices": [ |
| {"type": "array", "items": {"type": "integer", "minimum": 0}}, |
| {"type": "integer"} |
| ], |
| "optional": true |
| }, |
| { |
| "name": "callback", |
| "type": "function", |
| "parameters": [] |
| } |
| ] |
| }, |
| { |
| "name": "objectWithChoices", |
| "type": "function", |
| "description": "Takes an object with one or more strings and optional integer(s).", |
| "parameters": [ |
| { |
| "type": "object", |
| "name": "stringInfo", |
| "properties": { |
| "strings": { |
| "description": "One or more tab indices to highlight.", |
| "choices": [ |
| {"type": "array", "items": {"type": "string", "minimum": 0}}, |
| {"type": "string"} |
| ] |
| }, |
| "integers": { |
| "description": "One or more tab indices to highlight.", |
| "choices": [ |
| {"type": "array", "items": {"type": "integer", "minimum": 0}}, |
| {"type": "integer"} |
| ], |
| "optional": true |
| } |
| } |
| }, |
| { |
| "name": "callback", |
| "type": "function", |
| "parameters": [] |
| } |
| ] |
| }, |
| { |
| "name": "returnChoices", |
| "type": "function", |
| "description": "Gives back a string. Or not.", |
| "parameters": [ |
| { |
| "name": "callback", |
| "type": "function", |
| "parameters": [ |
| { |
| "name": "result", |
| "choices": [ |
| {"type": "array", "items": {"type": "integer", "minimum": 0}}, |
| {"type": "integer"} |
| ], |
| "description": "Some integers." |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "name": "returnMultipleChoices", |
| "type": "function", |
| "description": "Gives back two values where each is an integer or a list of integers.", |
| "parameters": [ |
| { |
| "name": "callback", |
| "type": "function", |
| "parameters": [ |
| { |
| "name": "firstResult", |
| "choices": [ |
| {"type": "array", "items": {"type": "integer", "minimum": 0}}, |
| {"type": "integer"} |
| ], |
| "description": "Some integers." |
| }, |
| { |
| "name": "secondResult", |
| "choices": [ |
| {"type": "array", "items": {"type": "integer", "minimum": 0}}, |
| {"type": "integer"} |
| ], |
| "description": "Some integers." |
| } |
| ] |
| } |
| ] |
| } |
| ] |
| } |
| ] |