-
- Notifications
You must be signed in to change notification settings - Fork 142
Open
Description
Hi team!
I have a program that is comparing schemas, and it's currently failing when loading and parsing a schema that has a type implementing multiple interfaces:
Traceback (most recent call last): File "/Workspace/devops/graphql_diff/venv/lib/python3.11/site-packages/graphql/utilities/build_ast_schema.py", line 96, in build_schema parse( File "/Workspace/devops/graphql_diff/venv/lib/python3.11/site-packages/graphql/language/parser.py", line 113, in parse return parser.parse_document() ^^^^^^^^^^^^^^^^^^^^^^^ File "/Workspace/devops/graphql_diff/venv/lib/python3.11/site-packages/graphql/language/parser.py", line 241, in parse_document definitions=self.many(TokenKind.SOF, self.parse_definition, TokenKind.EOF), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Workspace/devops/graphql_diff/venv/lib/python3.11/site-packages/graphql/language/parser.py", line 1156, in many append(parse_fn()) ^^^^^^^^^^ File "/Workspace/devops/graphql_diff/venv/lib/python3.11/site-packages/graphql/language/parser.py", line 302, in parse_definition raise self.unexpected(keyword_token) graphql.error.syntax_error.GraphQLSyntaxError: Syntax Error: Unexpected Name 'DealBookEndPageFields'. GraphQL request:1988:61 1987 | 1988 | type EndPageNode implements PageBaseFields, EndPageFields { | ^ 1989 | id: Int!
Here are the types causing the failure:
interface PageBaseFields { id: Int! name: String! order: Int! layout: PageLayoutEnum! background: String showPageNumber: Boolean showBookmarks: Boolean includeInBookmarks: Boolean hideable: Boolean deletable: Boolean locked: Boolean } interface PageFields { image: String content: String! cards: [String] } type EndPageNode implements PageBaseFields, EndPageFields { id: Int! name: String! order: Int! layout: PageLayoutEnum! background: String showPageNumber: Boolean showBookmarks: Boolean includeInBookmarks: Boolean hideable: Boolean deletable: Boolean locked: Boolean image: String content: String! cards: [String] }
Metadata
Metadata
Assignees
Labels
No labels