summaryrefslogtreecommitdiffstats
path: root/tools/json_schema_compiler/test/simple_api.json
blob: 068432d44246da424964f0e53023d568fc1d35e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[
  {
    "namespace": "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."
              }
            ]
          }
        ]
      }
    ]
  }
]