File tree Expand file tree Collapse file tree 1 file changed +15
-10
lines changed Expand file tree Collapse file tree 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) {
11911191}
11921192
11931193/**
1194- * UnionTypeDefinition : Description? union Name Directives? = UnionMembers
1194+ * UnionTypeDefinition : Description? union Name Directives? UnionMembers?
11951195 */
11961196func parseUnionTypeDefinition (parser * Parser ) (ast.Node , error ) {
11971197 start := parser .Token .Start
@@ -1211,13 +1211,16 @@ func parseUnionTypeDefinition(parser *Parser) (ast.Node, error) {
12111211 if err != nil {
12121212 return nil , err
12131213 }
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+ }
12211224 }
12221225 return ast .NewUnionDefinition (& ast.UnionDefinition {
12231226 Name : name ,
@@ -1229,9 +1232,11 @@ func parseUnionTypeDefinition(parser *Parser) (ast.Node, error) {
12291232}
12301233
12311234/**
1232- * UnionMembers :
1235+ * UnionMembers : = UnionMemberTypes
1236+ *
1237+ * UnionMemberTypes
12331238 * - NamedType
1234- * - UnionMembers | NamedType
1239+ * - UnionMemberTypes | NamedType
12351240 */
12361241func parseUnionMembers (parser * Parser ) ([]* ast.Named , error ) {
12371242 members := []* ast.Named {}
You can’t perform that action at this time.
0 commit comments