-
Notifications
You must be signed in to change notification settings - Fork 9
/
graphql.yaml
299 lines (243 loc) · 8.91 KB
/
graphql.yaml
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
Document:
Defi: [Definitions#defs]
Definitions:
Def: [Definition#def]
Defs: [Definition#def, Definitions#follow]
Definition:
O: [OperationDefinition#op]
F: [FragmentDefinition#frag]
T: [TypeSystemDefinition#type]
OperationDefinition:
SelSet: [SelectionSet#ss]
OT_N_VD: [OperationType#ot, name#name, VariableDefinitions#vd,
Directives#d, SelectionSet#ss]
OT_N_V: [OperationType#ot, name#name, VariableDefinitions#vd,
SelectionSet#ss]
OT_N_D: [OperationType#ot, name#name, Directives#d, SelectionSet#ss]
OT_N: [OperationType#ot, name#name, SelectionSet#ss]
OT_VD: [OperationType#ot, VariableDefinitions#vd, Directives#d,
SelectionSet#ss]
OT_V: [OperationType#ot, VariableDefinitions#vd, SelectionSet#ss]
OT_D: [OperationType#ot, Directives#d, SelectionSet#ss]
OT: [OperationType#ot, SelectionSet#ss]
SelectionSet:
SS: [lcurly, Selections#sel, rcurly]
OperationType:
Query: [query#tok]
Mutation: [mutation#tok]
Sub: [subscription#tok]
Selections:
Sel: [Selection#sel]
Sels: [Selection#sel, Selections#follow]
Selsc: [Selection#sel, comma, Selections#follow]
Selection:
Field: [Field#field]
Spread: [dots, FragmentSpread#frag]
IFrag: [dots, InlineFragment#ifrag]
FragmentSpread:
FD: [name#name, Directives#dirs]
F: [name#name]
InlineFragment:
TDS: [on_, name#tc, Directives#dirs, SelectionSet#ss]
TS: [on_, name#tc, SelectionSet#ss]
DS: [Directives#dirs, SelectionSet#ss]
S: [SelectionSet#ss]
# Alias is build into FieldName
Field:
FADS: [FieldName#name, Arguments#args, Directives#dirs,
SelectionSet#ss]
FAS: [FieldName#name, Arguments#args, SelectionSet#ss]
FAD: [FieldName#name, Arguments#args, Directives#dirs]
FDS: [FieldName#name, Directives#dirs, SelectionSet#ss]
FS: [FieldName#name, SelectionSet#ss]
FD: [FieldName#name, Directives#dirs]
FA: [FieldName#name, Arguments#args]
F: [FieldName#name]
FieldName:
A: [name#name, colon, name#aka]
N: [name#name]
Arguments:
List: [lparen, ArgumentList#arg, rparen]
Empty: [lparen, rparen]
ArgumentList:
A: [Argument#arg]
ACS: [Argument#arg, comma, ArgumentList#follow]
AS: [Argument#arg, ArgumentList#follow]
Argument:
Name: [name#name, colon, ValueOrVariable#vv]
FragmentDefinition:
FTDS: [fragment, name#name, on_, name#tc, Directives#dirs,
SelectionSet#ss]
FTS: [fragment, name#name, on_, name#tc, SelectionSet#ss]
Directives:
Dir: [Directive#dir]
Dirs: [Directive#dir, Directives#follow]
Directive:
NArg: [at, name#name, Arguments#arg]
N: [at, name#name]
VariableDefinitions:
Empty: [lparen, rparen]
Vars: [lparen, VariableDefinitionList#vars, rparen]
VariableDefinitionList:
V: [VariableDefinition#var]
VCF: [VariableDefinition#var, comma, VariableDefinitionList#follow]
VF: [VariableDefinition#var, VariableDefinitionList#follow]
VariableDefinition:
VarD: [Variable#var, colon, Type#type, DefaultValue#dvalue]
Var: [Variable#var, colon, Type#type]
Variable:
Var: [dollar, name#name]
DefaultValue:
DV: [equal, Value#value]
ValueOrVariable:
Val: [Value#val]
Var: [Variable#var]
Value:
STR: [stringValue#tok]
INT: [intValue#tok]
FLOAT: [floatValue#tok]
T: [true_#tok]
F: [false_#tok]
ARR: [Array#arr]
O: [ObjectType#obj]
E: [name#tok]
N: [null_#tok]
Type:
TN: [name#tname, exclamation]
LN: [ListType#list, exclamation]
T: [name#tname]
L: [ListType#list]
ListType:
T: [lbrack, Type#type, rbrack]
Values:
Val: [Value#val]
Vals: [Value#val, comma, Values#follow]
ValsNoComma: [Value#val, Values#follow]
Array:
Empty: [lbrack, rbrack]
Value: [lbrack, Values#vals, rbrack]
ObjectValues:
V: [name#name, colon, ValueOrVariable#val]
Vsc: [name#name, colon, ValueOrVariable#val, comma, ObjectValues#follow]
Vs: [name#name, colon, ValueOrVariable#val, ObjectValues#follow]
ObjectType:
Var: [lcurly, ObjectValues#vals, rcurly]
TypeSystemDefinition:
S: [SchemaDefinition#sch]
T: [TypeDefinition#td]
TE: [TypeExtensionDefinition#ted]
D: [DirectiveDefinition#dd]
DS: [Description#des, SchemaDefinition#sch]
DT: [Description#des, TypeDefinition#td]
DTE: [Description#des, TypeExtensionDefinition#ted]
DD: [Description#des, DirectiveDefinition#dd]
TypeDefinition:
S: [ScalarTypeDefinition#std]
O: [ObjectTypeDefinition#otd]
I: [InterfaceTypeDefinition#itd]
U: [UnionTypeDefinition#utd]
E: [EnumTypeDefinition#etd]
IO: [InputObjectTypeDefinition#iod]
SchemaDefinition:
DO: [schema, Directives#dir, lcurly, OperationTypeDefinitions#otds,
rcurly]
O: [schema, lcurly, OperationTypeDefinitions#otds, rcurly]
OperationTypeDefinitions:
O: [OperationTypeDefinition#otd]
OCS: [OperationTypeDefinition#otd, comma,
OperationTypeDefinitions#follow]
OS: [OperationTypeDefinition#otd, OperationTypeDefinitions#follow]
OperationTypeDefinition:
O: [OperationType#ot, colon, name#nt]
ScalarTypeDefinition:
D: [scalar, name#name, Directives#dir]
S: [scalar, name#name]
ObjectTypeDefinition:
ID: [type, name#name, ImplementsInterfaces#ii, Directives#dir,
lcurly, FieldDefinitions#fds, rcurly ]
I: [type, name#name, ImplementsInterfaces#ii, lcurly,
FieldDefinitions#fds, rcurly ]
D: [type, name#name, Directives#dir, lcurly, FieldDefinitions#fds,
rcurly ]
F: [type, name#name, lcurly, FieldDefinitions#fds, rcurly ]
FieldDefinitions:
F: [FieldDefinition#fd]
FC: [FieldDefinition#fd, comma, FieldDefinitions#follow]
FNC: [FieldDefinition#fd, FieldDefinitions#follow]
FieldDefinition:
AD: [name#name, ArgumentsDefinition#arg, colon, Type#typ,
Directives#dir]
A: [name#name, ArgumentsDefinition#arg, colon, Type#typ]
D: [name#name, colon, Type#typ, Directives#dir]
T: [name#name, colon, Type#typ]
DAD: [Description#des, name#name, ArgumentsDefinition#arg, colon, Type#typ,
Directives#dir]
DA: [Description#des, name#name, ArgumentsDefinition#arg, colon, Type#typ]
DD: [Description#des, name#name, colon, Type#typ, Directives#dir]
DT: [Description#des, name#name, colon, Type#typ]
ImplementsInterfaces:
N: [implements, NamedTypes#nts]
NamedTypes:
N: [name#name]
NCS: [name#name, comma, NamedTypes#follow]
NS: [name#name, NamedTypes#follow]
ArgumentsDefinition:
A: [lparen, InputValueDefinitions, rparen]
NA: [lparen, rparen]
InputValueDefinitions:
I: [InputValueDefinition#iv]
ICF: [InputValueDefinition#iv, comma, InputValueDefinitions#follow]
IF: [InputValueDefinition#iv, InputValueDefinitions#follow]
InputValueDefinition:
TVD: [name#name, colon, Type#type, DefaultValue#df, Directives#dirs]
TD: [name#name, colon, Type#type, Directives#dirs]
TV: [name#name, colon, Type#type, DefaultValue#df]
T: [name#name, colon, Type#type]
DTVD: [Description#des, name#name, colon, Type#type, DefaultValue#df, Directives#dirs]
DTD: [Description#des, name#name, colon, Type#type, Directives#dirs]
DTV: [Description#des, name#name, colon, Type#type, DefaultValue#df]
DT: [Description#des, name#name, colon, Type#type]
InterfaceTypeDefinition:
NDF: [interface_, name#name, Directives#dirs, lcurly,
FieldDefinitions#fds, rcurly]
NF: [interface_, name#name, lcurly, FieldDefinitions#fds, rcurly]
UnionTypeDefinition:
NDU: [union_, name#name, Directives#dirs, equal, UnionMembers#um]
NU: [union_, name#name, equal, UnionMembers#um]
UnionMembers:
S: [name#name]
SPF: [name#name, pipe, UnionMembers#follow]
SF: [name#name, UnionMembers#follow]
EnumTypeDefinition:
NDE: [enum_, name#name, Directives#dir, lcurly,
EnumValueDefinitions#evds, rcurly]
NE: [enum_, name#name, lcurly, EnumValueDefinitions#evds, rcurly]
EnumValueDefinitions:
D: [EnumValueDefinition#evd]
DCE: [EnumValueDefinition#evd, comma, EnumValueDefinitions#follow]
DE: [EnumValueDefinition#evd, EnumValueDefinitions#follow]
EnumValueDefinition:
ED: [name#name, Directives#dirs]
E: [name#name]
DED: [Description#des, name#name, Directives#dirs]
DE: [Description#des, name#name]
InputTypeDefinition:
NDE: [input, name#name, Directives#dir, lcurly,
InputValueDefinitions#ivds, rcurly]
NE: [input, name#name, lcurly, InputValueDefinitions#ivds, rcurly]
TypeExtensionDefinition:
O: [extend, ObjectTypeDefinition#otd]
DirectiveDefinition:
AD: [directive, at, name#name, ArgumentsDefinition#ad, on_,
DirectiveLocations#dl]
D: [directive, at, name#name, on_, DirectiveLocations#dl]
DirectiveLocations:
N: [name#name]
NPF: [name#name, pipe, DirectiveLocations#follow]
NF: [name#name, DirectiveLocations#follow]
InputObjectTypeDefinition:
NDI: [input, name#name, Directives#dirs, lcurly,
InputValueDefinitions, rcurly]
NI: [input, name#name, lcurly, InputValueDefinitions, rcurly]
Description:
S: [stringValue#tok]