1[ 2 { 3 "namespace": "simple_api", 4 "description": "This is a simple API.", 5 "types": [ 6 { 7 "id": "TestType", 8 "type": "object", 9 "properties": { 10 "string": { 11 "type": "string", 12 "description": "Some string." 13 }, 14 "boolean": { 15 "type": "boolean", 16 "description": "Some boolean." 17 }, 18 "number": { 19 "type": "number", 20 "description": "Some double." 21 }, 22 "integer": { 23 "type": "integer", 24 "description": "Some integer." 25 } 26 } 27 } 28 ], 29 "functions": [ 30 { 31 "name": "incrementInteger", 32 "type": "function", 33 "description": "Increments the given integer.", 34 "parameters": [ 35 { 36 "name": "num", 37 "type": "integer" 38 }, 39 { 40 "name": "callback", 41 "type": "function", 42 "parameters": [ 43 { 44 "name": "result", 45 "type": "integer", 46 "description": "The incremented value." 47 } 48 ] 49 } 50 ] 51 }, 52 { 53 "name": "optionalString", 54 "type": "function", 55 "description": "Takes a string. Or not.", 56 "parameters": [ 57 { 58 "name": "str", 59 "type": "string", 60 "optional": true 61 }, 62 { 63 "name": "callback", 64 "type": "function", 65 "parameters": [] 66 } 67 ] 68 }, 69 { 70 "name": "optionalBeforeRequired", 71 "type": "function", 72 "description": "Takes an optional parameter followed by a required one.", 73 "parameters": [ 74 { 75 "name": "first", 76 "type": "string", 77 "optional": true 78 }, 79 { 80 "name": "second", 81 "type": "string" 82 }, 83 { 84 "name": "callback", 85 "type": "function", 86 "parameters": [] 87 } 88 ] 89 }, 90 { 91 "name": "optionalCallbackParams", 92 "type": "function", 93 "description": "Gives back a string. Or not.", 94 "parameters": [ 95 { 96 "name": "callback", 97 "type": "function", 98 "parameters": [ 99 { 100 "name": "result", 101 "$ref": "TestType", 102 "description": "True if the extension has the specified permissions." 103 } 104 ] 105 } 106 ] 107 }, 108 { 109 "name": "getTestType", 110 "type": "function", 111 "description": "Return a TestType.", 112 "parameters": [ 113 { 114 "name": "callback", 115 "type": "function", 116 "parameters": [ 117 { 118 "name": "result", 119 "$ref": "TestType", 120 "description": "A TestType." 121 } 122 ] 123 } 124 ] 125 } 126 ], 127 "events": [ 128 { 129 "name": "onIntegerFired", 130 "type": "function", 131 "description": "Fired when an integer is ready.", 132 "parameters": [ 133 { 134 "name": "someInteger", 135 "type": "integer" 136 } 137 ] 138 }, 139 { 140 "name": "onStringFired", 141 "type": "function", 142 "description": "Fired when a string is ready.", 143 "parameters": [ 144 { 145 "name": "someString", 146 "type": "string" 147 } 148 ] 149 }, 150 { 151 "name": "onTestTypeFired", 152 "type": "function", 153 "description": "Fired when a TestType is ready.", 154 "parameters": [ 155 { 156 "name": "someTestType", 157 "$ref": "TestType" 158 } 159 ] 160 } 161 ] 162 } 163] 164