@@ -82,13 +82,14 @@ EscapedUnicode :: /[0-9A-Fa-f]{4}/
8282EscapedCharacter :: one of ` " ` \ ` / ` b f n r t
8383
8484
85- ## Query Document
85+ ## Document
8686
8787Document : Definition+
8888
8989Definition :
9090 - OperationDefinition
9191 - FragmentDefinition
92+ - TypeSystemDefinition
9293
9394OperationDefinition :
9495 - SelectionSet
@@ -169,3 +170,57 @@ NonNullType :
169170Directives : Directive+
170171
171172Directive : @ 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