Skip to content
Draft
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions spec/Appendix C -- Grammar Summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,11 @@ FieldsDefinition : { FieldDefinition+ }
FieldDefinition : Description? Name ArgumentsDefinition? : Type
Directives[Const]?

FieldExtension :

- extend field MemberCoordinate Directives[Const]
- extend field Description MemberCoordinate

ArgumentsDefinition : ( InputValueDefinition+ )

InputValueDefinition : Description? Name : Type DefaultValue? Directives[Const]?
Expand Down
26 changes: 26 additions & 0 deletions spec/Section 3 -- Type System.md
Original file line number Diff line number Diff line change
Expand Up @@ -1105,6 +1105,32 @@ Object type extensions have the potential to be invalid if incorrectly defined.
6. The resulting extended object type must be a super-set of all interfaces it
implements.

### Field Extensions

FieldExtension :

- extend field MemberCoordinate Directives[Const]
- extend field Description MemberCoordinate

Field extensions are used to represent a field which has been extended from some
previously defined field. For example this may be a GraphQL service which is
itself an extension of another GraphQL service.

In this example, we can deprecate the id field on the User type.

```graphql example
extend field User.name @deprecated(”Some reason”)
```

** Field Validation **

Field validation have the potential to be invalid if incorrectly defined.

1. MemberCoordinate must be resolved to an existing field on a object or
interface type.
2. Any non-repeatable directives provided must not already apply to the previous
field.

## Interfaces

InterfaceTypeDefinition :
Expand Down