0xPlaygrounds / 0xPlaygrounds/subgrounds

Effectively deep-freeze Query objects

Open
#38 0 comments 0 reactions 0 assignees View on GitHub
enhancement internal
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.