subgrounds
subgrounds copied to clipboard
Shorthand to grab the `Query` Object from the schema
Is your feature request related to a problem? Please describe. Not a problem, but would reduced the need for unnecessary code.
Essentially, when playing around with a subgraph's schema, it is often useful to grab the Query GraphQL object which contains all toplevel fields that can be selected from the API. Currently, one has to go through the SchemaMeta.type_map dictionary, of which the type of the values is a union of all possible GraphQL types.
However, we know that Query will always be an ObjectMeta type. Moreover, we know that all GraphQL APIs have a Query object (it's part of the GraphQL specifications). Therefore, it would make sense to have a little helper for this.
Describe the solution you'd like
schema: SchemaMeta = ...
# Instead of this
query_objectmeta = cast(TypeMeta.ObjectMeta, schema.type_map["Query"])
# This! query_objectmeta is correctly typed with TypeMeta.ObjectMeta
# SchemaMeta.query_object would be a property
query_objectmeta = schema.query_object
Describe alternatives you've considered
None. Apart from using a different name for the helper property (e.g.: query_objectmeta, or simply query)
Additional context
The same arguments could also be made for having helpers for the Subscription and Mutation objects, but these are not guaranteed to be present in a GraphQL API.
Implementation checklist
- [ ] Add
SchemaMeta.query_objecthelper property