168 lines
4.6 KiB
JSON
168 lines
4.6 KiB
JSON
[
|
|
{
|
|
"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."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|