graphql-python / graphql-python/gql-next
Does this package support union type fragments?
- Ngôn ngữ chính
- Python
- Star
- 78
- Fork
- 6
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
I have a .graphql file that looks like this:
```
query GetBook($id: UUID!) {
book(id: $id) {
author {
id
name
... on FantasyAuthor {
fantasyBooksWritten
}
... on SciFiAuthor {
sciFiBooksWritten
}
}
}
}
```
However, when I run `gql run` I get the following error:
```
Parsing /home/user/python-test/book_query.graphql ... Traceback (most recent call last):
File "/home/user/.local/bin/gql", line 11, in
sys.exit(cli())
File "/home/user/.local/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/user/.local/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/user/.local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/user/.local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/user/.local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/user/.local/lib/python3.8/site-packages/gql/cli.py", line 99, in run
process_file(filename, query_parser, query_renderer)
File "/home/user/.local/lib/python3.8/site-packages/gql/cli.py", line 68, in process_file
parsed = parser.parse(query)
File "/home/user/.local/lib/python3.8/site-packages/gql/query_parser.py", line 243, in parse
visit(document_ast, TypeInfoVisitor(type_info, visitor))
File "/home/user/.local/lib/python3.8/site-packages/graphql/language/visitor.py", line 286, in visit
result = visit_fn(visitor, node, key, parent, path, ancestors)
File "/home/user/.local/lib/python3.8/site-packages/graphql/language/visitor.py", line 394, in leave
result = fn(self.visitor, node, *args) if fn else None
File "/home/user/.local/lib/python3.8/site-packages/gql/query_parser.py", line 109, in leave_selection_set
self.pull()
File "/home/user/.local/lib/python3.8/site-packages/gql/query_parser.py", line 70, in pull
return self.dfs_path.pop()
IndexError: pop from empty list
```
wondering if anyone has seen similar issues. Thanks!
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Start with gql/query_parser.py, especially parse and the selection-set handling shown in the traceback; inspect how gql run in gql/cli.py passes the document to the parser. Reproduce the supplied query, then verify that union type fragments parse without the IndexError.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- api
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100