API Reference absinthe v1.7.0
Modules
Documentation for the Absinthe package, a toolkit for building GraphQL APIs with Elixir.
Absinthe supports an adapter mechanism that allows developers to define their
schema using one code convention (eg, snake_cased
fields and arguments), but
accept query documents and return results (including names in errors) in
another (eg, camelCase
).
This defines an adapter that supports GraphQL query documents in their conventional (in JS) camelcase notation, while allowing the schema to be defined using conventional (in Elixir) underscore (snakecase) notation, and transforming the names as needed for lookups, results, and error messages.
The default adapter, which makes no changes to incoming query document ASTs or outgoing results.
Strict version of Absinthe.Adapter.LanguageConventions
that will reject
improperly formatted external names.
Underscores external input and leaves external input alone. Unlike the
Absinthe.Adapter.Passthrough
this does not break introspection (because
introspection relies on underscoring incoming introspection queries which we
still do).
An error during analysis.
Represents the graphql document to be executed.
Blueprint Execution Data
Extra metadata passed to aid complexity analysis functions, describing the current field's environment.
An error during execution.
Formatter task for graphql
Introspection support.
Handles logging of Absinthe-specific events.
Middleware enables custom resolution behaviour on a field.
This plugin enables asynchronous execution of a field.
Batch the resolution of multiple fields.
This is the default middleware. It assumes the the object it receives is a map
and uses Map.get/2
to get the value for this field. If this field is already
marked as resolved, then this middleware does not touch it.
Middleware that just passes the parent down to the children.
Gather and report telemetry about an individual field resolution
Behaviour for Absinthe Phases.
Pass on context and root value to document.
Gather and report telemetry about an operation.
Execute a pipeline of phases.
Plugin Behaviour
Information about the current resolution. It is created by adding field specific
information to the more general %Absinthe.Blueprint.Execution{}
struct.
Handy functions for returning async or batched resolution functions
Build GraphQL Schemas
Exception raised when a schema is invalid
Provides a set of macros to use when creating a schema. Especially useful when moving definitions out into a different module than the schema itself.
Exception raised when a schema is invalid
Experimental: Persistent Term based Schema Backend
Provides the directives available for SDL schema definitions.
Experimental: Behaviour for providing schema data
An error during serialization.
Real time updates via GraphQL
This module handles broadcasting documents that are local to this node
Serializer responsible for packing and unpacking pipeline stored in the Elixir registry.
Pubsub behaviour expected by Absinthe to power subscriptions
Used to define an argument.
This module contains the following additional data types
Used by the GraphQL runtime as a way of modifying execution behavior.
Used to define an enum type, a special scalar that can only have a defined set of values.
A possible value for an enum.
Used to define a field.
Defines a GraphQL input object
A defined interface type that represent a list of named fields and their arguments.
A wrapping type which declares the type of each item in the list.
A type that wraps an underlying type, acting identically to that type but adding a non-null constraint.
Represents a non-leaf node in a GraphQL tree of information.
Represents a primitive value.
A unions is an abstract type made up of multiple possible concrete types.
Mix Tasks
Generate a schema.json
file
Generate a schema.graphql
file.