[ { "namespace": "simple_api", "description": "This is a simple API.", "types": [ { "id": "TestType", "type": "object", "properties": { "string": { "type": "string", "description": "Some string." }, "boolean": { "type": "boolean", "description": "Some boolean." }, "number": { "type": "number", "description": "Some double." }, "integer": { "type": "integer", "description": "Some integer." } } } ], "functions": [ { "name": "incrementInteger", "type": "function", "description": "Increments the given integer.", "parameters": [ { "name": "num", "type": "integer" }, { "name": "callback", "type": "function", "parameters": [ { "name": "result", "type": "integer", "description": "The incremented value." } ] } ] }, { "name": "optionalString", "type": "function", "description": "Takes a string. Or not.", "parameters": [ { "name": "str", "type": "string", "optional": true }, { "name": "callback", "type": "function", "parameters": [] } ] }, { "name": "optionalBeforeRequired", "type": "function", "description": "Takes an optional parameter followed by a required one.", "parameters": [ { "name": "first", "type": "string", "optional": true }, { "name": "second", "type": "string" }, { "name": "callback", "type": "function", "parameters": [] } ] }, { "name": "optionalCallbackParams", "type": "function", "description": "Gives back a string. Or not.", "parameters": [ { "name": "callback", "type": "function", "parameters": [ { "name": "result", "$ref": "TestType", "description": "True if the extension has the specified permissions." } ] } ] }, { "name": "getTestType", "type": "function", "description": "Return a TestType.", "parameters": [ { "name": "callback", "type": "function", "parameters": [ { "name": "result", "$ref": "TestType", "description": "A TestType." } ] } ] } ], "events": [ { "name": "onIntegerFired", "type": "function", "description": "Fired when an integer is ready.", "parameters": [ { "name": "someInteger", "type": "integer" } ] }, { "name": "onStringFired", "type": "function", "description": "Fired when a string is ready.", "parameters": [ { "name": "someString", "type": "string" } ] }, { "name": "onTestTypeFired", "type": "function", "description": "Fired when a TestType is ready.", "parameters": [ { "name": "someTestType", "$ref": "TestType" } ] } ] } ]