graphql-python / graphql-python/graphql-relay-py
Why are nodes optional?
- Ngôn ngữ chính
- Python
- Star
- 144
- Fork
- 41
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
I was trying to dig through this to figure it out, and I apologize if there's a good reason for this.
It seems to me that a paginated connection (e.g. `DjangoConnectionField` or `DjangoFilterConnectionField`) always has edges and nodes. What's the use case for these being nullable?
The reason I bring this up is because, when using TypeScript with the generated schema, it results in lengthy checks like this:
```tsx
{edges.map(edge => (
{edge &&
edge.node &&
edge.node.id (
...
```
As far as I can tell this is set up here:
https://github.com/graphql-python/graphql-relay-py/blob/master/graphql_relay/connection/connection.py#L44
Could there be `required` on edges/nodes? At least as an option it'd be a breaking change. Right now I'm not sure how to override this.
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
Read graphql_relay/connection/connection.py around line 44 to confirm how edges and nodes are declared. Investigate whether nullability can be configured without breaking existing schemas; done means an explicit option exists and the generated schema reflects the selected nullability.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- graphql, python
- Lĩnh vực
- api
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- 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