File tree 1 file changed +15
-10
lines changed
1 file changed +15
-10
lines changed Original file line number Diff line number Diff line change @@ -1191,7 +1191,7 @@ func parseInterfaceTypeDefinition(parser *Parser) (ast.Node, error) {
1191
1191
}
1192
1192
1193
1193
/**
1194
- * UnionTypeDefinition : Description? union Name Directives? = UnionMembers
1194
+ * UnionTypeDefinition : Description? union Name Directives? UnionMembers?
1195
1195
*/
1196
1196
func parseUnionTypeDefinition (parser * Parser ) (ast.Node , error ) {
1197
1197
start := parser .Token .Start
@@ -1211,13 +1211,16 @@ func parseUnionTypeDefinition(parser *Parser) (ast.Node, error) {
1211
1211
if err != nil {
1212
1212
return nil , err
1213
1213
}
1214
- _ , err = expect (parser , lexer .EQUALS )
1215
- if err != nil {
1216
- return nil , err
1217
- }
1218
- types , err := parseUnionMembers (parser )
1219
- if err != nil {
1220
- return nil , err
1214
+ var types []* ast.Named
1215
+ if parser .Token .Kind == lexer .EQUALS {
1216
+ err = advance (parser )
1217
+ if err != nil {
1218
+ return nil , err
1219
+ }
1220
+ types , err = parseUnionMembers (parser )
1221
+ if err != nil {
1222
+ return nil , err
1223
+ }
1221
1224
}
1222
1225
return ast .NewUnionDefinition (& ast.UnionDefinition {
1223
1226
Name : name ,
@@ -1229,9 +1232,11 @@ func parseUnionTypeDefinition(parser *Parser) (ast.Node, error) {
1229
1232
}
1230
1233
1231
1234
/**
1232
- * UnionMembers :
1235
+ * UnionMembers : = UnionMemberTypes
1236
+ *
1237
+ * UnionMemberTypes
1233
1238
* - NamedType
1234
- * - UnionMembers | NamedType
1239
+ * - UnionMemberTypes | NamedType
1235
1240
*/
1236
1241
func parseUnionMembers (parser * Parser ) ([]* ast.Named , error ) {
1237
1242
members := []* ast.Named {}
You can’t perform that action at this time.
0 commit comments