subgrounds.pagination.preprocess module
Helper functions and classes used by Subgrounds' own pagination strategies.
- class subgrounds.pagination.preprocess.PaginationNode(node_idx, filter_field, first_value, skip_value, filter_value, filter_value_type, key_path, inner=<factory>)
Bases:
object
Class representing the pagination config for a single GraphQL list field.
- filter_field
Name of the node's filter field, e.g.: if
filter_name
istimestamp_gt
, thenfilter_field
istimestamp
- Type
- filter_value
Initial value of the filter argument (i.e.:
where: {filter: FILTER_VALUE}
)- Type
Any
- key_path
Location in the list field to which this pagination node refers to in the initial query
- inner
Nested pagination nodes (if any).
- Type
- filter_value: Any
- filter_value_type: subgrounds.schema.TypeRef.T
- get_vardefs()
Returns a list of variable definitions corresponding to this pagination node's pagination arguments as well as the variable definitions related to any nested pagination nodes.
- Parameters
self (PaginationNode) -- The current PaginationNode
- Returns
_description_
- Return type
- subgrounds.pagination.preprocess.is_pagination_node(schema, selection)
- subgrounds.pagination.preprocess.get_orderBy_value(selection)
- subgrounds.pagination.preprocess.get_orderDirection_value(selection)
- subgrounds.pagination.preprocess.get_filtering_arg(selection)
- subgrounds.pagination.preprocess.get_filtering_value(selection)
- subgrounds.pagination.preprocess.generate_pagination_nodes(schema, document)
- subgrounds.pagination.preprocess.normalize(schema, document, pagination_nodes)
- subgrounds.pagination.preprocess.prune_doc(document, args)