@@ -482,7 +482,9 @@ Scalar type extensions have the potential to be invalid if incorrectly defined.
482
482
483
483
ObjectTypeDefinition : Description? type Name ImplementsInterfaces? Directives[ Const] ? FieldsDefinition?
484
484
485
- ImplementsInterfaces : Description? implements NamedType+
485
+ ImplementsInterfaces :
486
+ - implements ` & ` ? NamedType
487
+ - ImplementsInterfaces & NamedType
486
488
487
489
FieldsDefinition : { FieldDefinition+ }
488
490
@@ -878,18 +880,26 @@ For example, an interface `NamedEntity` may describe a required field and types
878
880
such as `Person ` or `Business ` may then implement this interface to guarantee
879
881
this field will always exist .
880
882
883
+ Types may also implement multiple interfaces . For example , `Business ` implements
884
+ both the `NamedEntity ` and `ValuedEntity ` interfaces in the example below .
885
+
881
886
```graphql example
882
887
interface NamedEntity {
883
888
name : String
884
889
}
885
890
891
+ interface ValuedEntity {
892
+ value : Int
893
+ }
894
+
886
895
type Person implements NamedEntity {
887
896
name : String
888
897
age : Int
889
898
}
890
899
891
- type Business implements NamedEntity {
900
+ type Business implements NamedEntity & ValuedEntity {
892
901
name : String
902
+ value : Int
893
903
employeeCount : Int
894
904
}
895
905
```
@@ -1026,12 +1036,10 @@ Interface type extensions have the potential to be invalid if incorrectly define
1026
1036
1027
1037
## Unions
1028
1038
1029
- UnionTypeDefinition : Description ? union Name Directives [Const ]? MemberTypesDefinition ?
1030
-
1031
- MemberTypesDefinition : = MemberTypes
1039
+ UnionTypeDefinition : Description ? union Name Directives [Const ]? UnionMemberTypes ?
1032
1040
1033
- MemberTypes :
1034
- - `|`? NamedType
1041
+ UnionMemberTypes :
1042
+ - = `|`? NamedType
1035
1043
- MemberTypes | NamedType
1036
1044
1037
1045
GraphQL Unions represent an object that could be one of a list of GraphQL
@@ -1127,7 +1135,7 @@ Union types have the potential to be invalid if incorrectly defined.
1127
1135
### Union Extensions
1128
1136
1129
1137
UnionTypeExtension :
1130
- - extend union Name Directives[ Const] ? MemberTypesDefinition
1138
+ - extend union Name Directives[ Const] ? UnionMemberTypes
1131
1139
- extend union Name Directives[ Const]
1132
1140
1133
1141
Union type extensions are used to represent a union type which has been
0 commit comments