@@ -82,13 +82,14 @@ EscapedUnicode :: /[0-9A-Fa-f]{4}/
82
82
EscapedCharacter :: one of ` " ` \ ` / ` b f n r t
83
83
84
84
85
- ## Query Document
85
+ ## Document
86
86
87
87
Document : Definition+
88
88
89
89
Definition :
90
90
- OperationDefinition
91
91
- FragmentDefinition
92
+ - TypeSystemDefinition
92
93
93
94
OperationDefinition :
94
95
- SelectionSet
@@ -172,3 +173,57 @@ NonNullType :
172
173
Directives : Directive+
173
174
174
175
Directive : @ Name Arguments?
176
+
177
+ TypeSystemDefinition :
178
+ - SchemaDefinition
179
+ - TypeDefinition
180
+ - TypeExtensionDefinition
181
+ - DirectiveDefinition
182
+
183
+ SchemaDefinition : schema { OperationTypeDefinition+ }
184
+
185
+ OperationTypeDefinition : OperationType : NamedType
186
+
187
+ TypeDefinition :
188
+ - ScalarTypeDefinition
189
+ - ObjectTypeDefinition
190
+ - InterfaceTypeDefinition
191
+ - UnionTypeDefinition
192
+ - EnumTypeDefinition
193
+ - InputObjectTypeDefinition
194
+
195
+ ScalarTypeDefinition : scalar Name
196
+
197
+ ObjectTypeDefinition : type Name ImplementsInterfaces? { FieldDefinition+ }
198
+
199
+ ImplementsInterfaces : implements NamedType+
200
+
201
+ FieldDefinition : Name ArgumentsDefinition? : Type
202
+
203
+ ArgumentsDefinition : ( InputValueDefinition+ )
204
+
205
+ InputValueDefinition : Name : Type DefaultValue?
206
+
207
+ InterfaceTypeDefinition : interface Name { FieldDefinition+ }
208
+
209
+ UnionTypeDefinition : union Name = UnionMembers
210
+
211
+ UnionMembers :
212
+ - NamedType
213
+ - UnionMembers | NamedType
214
+
215
+ EnumTypeDefinition : enum Name { EnumValueDefinition+ }
216
+
217
+ EnumValueDefinition : EnumValue
218
+
219
+ EnumValue : Name
220
+
221
+ InputObjectTypeDefinition : input Name { InputValueDefinition+ }
222
+
223
+ TypeExtensionDefinition : extend ObjectTypeDefinition
224
+
225
+ DirectiveDefinition : directive @ Name ArgumentsDefinition? on DirectiveLocations
226
+
227
+ DirectiveLocations :
228
+ - Name
229
+ - DirectiveLocations | Name
0 commit comments