0xPlaygrounds / 0xPlaygrounds/subgrounds
Effectively deep-freeze Query objects
- Dominant language
- Python
- Stars
- 73
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
`subgrounds/query.py` has all objects related to the AST of GraphQL. Currently, every object is frozen, but nested fields of said objects are not (such as nested `list`s and `dict`s). This means the greater objects of `Document`, etc are **not** hashable.
**Describe the solution you'd like**
Ensure all query objects are hashable by using immutable data structures.
**Additional context**
Likely should be considered with a general refactor / subpackage breakdown of `subgrounds/query.py`).
**Implementation checklist**
- [ ] Task 1
Contributor guide
Research direction
The issue is about making query objects in subgrounds/query.py hashable by ensuring nested structures are immutable. Start by examining the AST classes in that file, focusing on how lists and dicts are currently stored. Look into using tuple and types.MappingProxyType or implementing __hash__ methods. Check if there are existing tests for hashing or freezing behavior to understand the expected outcome.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, python
- Domain
- api, backend
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100