summaryrefslogtreecommitdiffstats
path: root/tools/json_schema_compiler/test/objects.json
blob: e76e229900a1938dc710fa3af1a8a77c846007aa (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
128
129
130
131
132
133
134
135
136
137
138
139
140
[
  {
    "namespace": "objects",
    "description": "The objects API.",
    "types": [],
    "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"
              }
            }
          },
          {
            "name": "callback",
            "type": "function",
            "parameters": []
          }
        ]
      },
      {
        "name": "returnsObject",
        "description": "Returns an object.",
        "type": "function",
        "parameters": [
          {
            "name": "callback",
            "type": "function",
            "parameters": [
              {
                "name": "info",
                "type": "object",
                "properties": {
                  "state": {
                    "type": "string",
                    "enum": ["foo", "bar", "baz"]
                  }
                }
              }
            ]
          }
        ]
      },
      {
        "name": "returnsTwoObjects",
        "description": "Return two objects.",
        "type": "function",
        "parameters": [
          {
            "name": "callback",
            "type": "function",
            "parameters": [
              {
                "name": "firstInfo",
                "type": "object",
                "properties": {
                  "state": {
                    "type": "string",
                    "enum": ["foo", "bar", "baz"]
                  }
                }
              },
              {
                "name": "secondInfo",
                "type": "object",
                "properties": {
                  "state": {
                    "type": "string",
                    "enum": ["spam", "ham", "eggs"]
                  }
                }
              }
            ]
          }
        ]
      }
    ],
    "events": [
      {
        "name": "onObjectFired",
        "type": "function",
        "description": "Fired when an object is ready.",
        "parameters": [
          {
            "name": "someObject",
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "enum": ["foo", "bar", "baz"]
              }
            }
          }
        ]
      },
      {
        "name": "onTwoObjectsFired",
        "type": "function",
        "description": "Fired when two objects are ready.",
        "parameters": [
          {
            "name": "firstObject",
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "enum": ["foo", "bar", "baz"]
              }
            }
          },
          {
            "name": "secondObject",
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "enum": ["spam", "ham", "eggs"]
              }
            }
          }
        ]
      }
    ]
  }
]