View Source AbsintheQueryAll.Query (absinthe_query_all v0.5.0)

Code for generating a query string for a particular operation that requests every possible piece of data that is available in the response.

Summary

Functions

Generates a query string that requests every possible field and subfield.

Functions

@spec comprehensive(%{
  :operation_type => AbsintheQueryAll.Query.Operations.operation_type(),
  :operation_name => atom(),
  :schema => Absinthe.Schema.t(),
  optional(:context) => map(),
  optional(:permitted_fields) =>
    AbsintheQueryAll.Query.Fields.permitted_fields(),
  optional(:argument_generator) => (atom(), atom() -> any()),
  optional(:parent_alias_generator) => (atom(),
                                        [
                                          AbsintheQueryAll.Query.Arguments.arg_data()
                                        ] ->
                                          any()),
  optional(:leaf_alias_generator) => (atom(),
                                      AbsintheQueryAll.Query.Types.details() ->
                                        any())
}) :: binary()

Generates a query string that requests every possible field and subfield.

Examples

iex> comprehensive(%{
...>   operation_type: :query,
...>   operation_name: :someQuery,
...>   schema: SomeAbsintheSchema
...> })
"query someQuery {

someQuery { someField: someField someOtherField: someOtherField } } "