absinthe v1.5.3 Absinthe View Source
Documentation for the Absinthe package, a toolkit for building GraphQL APIs with Elixir.
For usage information, see the documentation, which includes guides, API information for important modules, and links to useful resources.
Link to this section Summary
Functions
Evaluates a query document against a schema, with options.
Evaluates a query document against a schema, without options.
Link to this section Types
Link to this type
result_error_t()
View Sourceresult_error_t() :: %{message: String.t()} | %{ message: String.t(), locations: [%{line: pos_integer(), column: integer()}] }
Link to this type
result_selection_t()
View Sourceresult_selection_t() :: %{ required(String.t()) => nil | integer() | float() | boolean() | binary() | atom() | result_selection_t() | [result_selection_t()] }
Link to this type
result_t()
View Sourceresult_t() :: %{data: nil | result_selection_t()} | %{data: nil | result_selection_t(), errors: [result_error_t()]} | %{errors: [result_error_t()]}
Link to this type
run_opts()
View Sourcerun_opts() :: [ context: %{}, adapter: Absinthe.Adapter.t(), root_value: term(), operation_name: String.t(), analyze_complexity: boolean(), variables: %{optional(String.t()) => any()}, max_complexity: non_neg_integer() | :infinity ]
Link to this section Functions
Link to this function
run(document, schema, options \\ [])
View Sourcerun( binary() | Absinthe.Language.Source.t() | Absinthe.Language.Document.t(), Absinthe.Schema.t(), run_opts() ) :: run_result()
Evaluates a query document against a schema, with options.
Options
:adapter
- The name of the adapter to use. See theAbsinthe.Adapter
behaviour and theAbsinthe.Adapter.Passthrough
andAbsinthe.Adapter.LanguageConventions
modules that implement it. (Absinthe.Adapter.LanguageConventions
is the default value for this option.):operation_name
- If more than one operation is present in the provided query document, this must be provided to select which operation to execute.:variables
- A map of provided variable values to be used when filling in arguments in the provided query document.:context
-> A map of the execution context.:root_value
-> A root value to use as the source for toplevel fields.:analyze_complexity
-> Whether to analyze the complexity before executing an operation.:max_complexity
-> An integer (or:infinity
) for the maximum allowed complexity for the operation being executed.
Examples
"""
query GetItemById($id: ID) {
item(id: $id) {
name
}
}
"""
|> Absinthe.run(App.Schema, variables: %{"id" => params[:item_id]})
See the Absinthe
module documentation for more examples.
Link to this function
run!(input, schema, options \\ [])
View Sourcerun!( binary() | Absinthe.Language.Source.t() | Absinthe.Language.Document.t(), Absinthe.Schema.t(), Keyword.t() ) :: result_t() | no_return()
Evaluates a query document against a schema, without options.
Options
See run/3
for the available options.