@@ -8,8 +8,8 @@ are valid.
88TypeSystemDefinition :
99 - SchemaDefinition
1010 - TypeDefinition
11- - TypeExtension
1211 - DirectiveDefinition
12+ - TypeSystemExtension
1313
1414The GraphQL language includes an
1515[ IDL] ( https://en.wikipedia.org/wiki/Interface_description_language ) used to
@@ -27,6 +27,18 @@ Note: The type system definition language is used throughout the remainder of
2727this specification document when illustrating example type systems.
2828
2929
30+ ## Type System Extensions
31+
32+ TypeSystemExtension :
33+ - SchemaExtension
34+ - TypeExtension
35+
36+ Type system extensions are used to represent a GraphQL type system which has been
37+ extended from some original type system. For example, this might be used by a
38+ local service to represent data a GraphQL client only accesses locally, or by a
39+ GraphQL service which is itself an extension of another GraphQL service.
40+
41+
3042## Schema
3143
3244SchemaDefinition : schema Directives[ Const] ? { RootOperationTypeDefinition+ }
@@ -139,6 +151,16 @@ type Query {
139151}
140152```
141153
154+ ### Schema Extension
155+
156+ SchemaExtension :
157+ - extend schema Directives[ Const] ? { OperationTypeDefinition+ }
158+ - extend schema Directives[ Const]
159+
160+ Schema extensions are used to represent a schema which has been extended from
161+ an original schema. For example, this might be used by a GraphQL service which
162+ adds additional operation types, or additional directives to an existing schema.
163+
142164
143165## Descriptions
144166
@@ -261,10 +283,9 @@ TypeExtension :
261283 - EnumTypeExtension
262284 - InputObjectTypeExtension
263285
264- Type extensions are used to represent a GraphQL type system which has been
265- extended from some original type system. For example, this might be used by a
266- local service to represent data a GraphQL client only accesses locally, or by a
267- GraphQL service which is itself an extension of another GraphQL service.
286+ Type extensions are used to represent a GraphQL type which has been extended
287+ from some original type. For example, this might be used by a local service to
288+ represent additional fields a GraphQL client only accesses locally.
268289
269290
270291## Scalars
0 commit comments