[ { "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." } ] } ] } ] } ]