@@ -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
@@ -169,3 +170,57 @@ NonNullType :
169
170
Directives : Directive+
170
171
171
172
Directive : @ Name Arguments?
173
+
174
+ TypeSystemDefinition :
175
+ - SchemaDefinition
176
+ - TypeDefinition
177
+ - TypeExtensionDefinition
178
+ - DirectiveDefinition
179
+
180
+ SchemaDefinition : schema { OperationTypeDefinition+ }
181
+
182
+ OperationTypeDefinition : OperationType : NamedType
183
+
184
+ TypeDefinition :
185
+ - ScalarTypeDefinition
186
+ - ObjectTypeDefinition
187
+ - InterfaceTypeDefinition
188
+ - UnionTypeDefinition
189
+ - EnumTypeDefinition
190
+ - InputObjectTypeDefinition
191
+
192
+ ScalarTypeDefinition : scalar Name
193
+
194
+ ObjectTypeDefinition : type Name ImplementsInterfaces? { FieldDefinition+ }
195
+
196
+ ImplementsInterfaces : implements NamedType+
197
+
198
+ FieldDefinition : Name ArgumentsDefinition? : Type
199
+
200
+ ArgumentsDefinition : ( InputValueDefinition+ )
201
+
202
+ InputValueDefinition : Name : Type DefaultValue?
203
+
204
+ InterfaceTypeDefinition : interface Name { FieldDefinition+ }
205
+
206
+ UnionTypeDefinition : union Name = UnionMembers
207
+
208
+ UnionMembers :
209
+ - NamedType
210
+ - UnionMembers | NamedType
211
+
212
+ EnumTypeDefinition : enum Name { EnumValueDefinition+ }
213
+
214
+ EnumValueDefinition : EnumValue
215
+
216
+ EnumValue : Name
217
+
218
+ InputObjectTypeDefinition : input Name { InputValueDefinition+ }
219
+
220
+ TypeExtensionDefinition : extend ObjectTypeDefinition
221
+
222
+ DirectiveDefinition : directive @ Name ArgumentsDefinition? on DirectiveLocations
223
+
224
+ DirectiveLocations :
225
+ - Name
226
+ - DirectiveLocations | Name
0 commit comments