[
{
"namespace": "objects",
"description": "The objects API.",
"types": [
{
"id": "firstState",
"type": "string",
"enum": ["foo", "bar", "baz"]
},
{
"id": "secondState",
"type": "string",
"enum": ["spam", "ham", "eggs"]
}
],
"functions": [
{
"name": "objectParam",
"type": "function",
"description": "Takes an object.",
"parameters": [
{
"name": "info",
"type": "object",
"properties": {
"strings": {
"type": "array",
"items": {"type": "string"}
},
"integer": {
"type": "integer"
},
"boolean": {
"type": "boolean"
}
}
}
],
"returns_async": {
"name": "callback",
"parameters": []
}
},
{
"name": "returnsObject",
"description": "Returns an object.",
"type": "function",
"parameters": [],
"returns_async": {
"name": "callback",
"parameters": [
{
"name": "info",
"type": "object",
"properties": {
"state": {
"$ref": "firstState"
}
}
}
]
}
},
{
"name": "returnsTwoObjects",
"description": "Return two objects.",
"type": "function",
"parameters": [],
"returns_async": {
"name": "callback",
"does_not_support_promises": "Multi-parameter callback for test",
"parameters": [
{
"name": "firstInfo",
"type": "object",
"properties": {
"state": {
"$ref": "firstState"
}
}
},
{
"name": "secondInfo",
"type": "object",
"properties": {
"state": {
"$ref": "secondState"
}
}
}
]
}
}
],
"events": [
{
"name": "onObjectFired",
"type": "function",
"description": "Fired when an object is ready.",
"parameters": [
{
"name": "someObject",
"type": "object",
"properties": {
"state": {
"$ref": "firstState"
}
}
}
]
},
{
"name": "onTwoObjectsFired",
"type": "function",
"description": "Fired when two objects are ready.",
"parameters": [
{
"name": "firstObject",
"type": "object",
"properties": {
"state": {
"$ref": "firstState"
}
}
},
{
"name": "secondObject",
"type": "object",
"properties": {
"state": {
"$ref": "secondState"
}
}
}
]
}
]
}
]