View Source Absinthe.Type.Directive (absinthe v1.7.0)

Used by the GraphQL runtime as a way of modifying execution behavior.

Type system creators will usually not create these directly.

Link to this section Summary



A defined directive.

Link to this section Types


location() ::
  | :mutation
  | :field
  | :fragment_definition
  | :fragment_spread
  | :inline_fragment


t() :: %{
  name: binary(),
  description: binary(),
  identifier: atom(),
  args: map(),
  locations: [location()],
  expand: (map(), Absinthe.Blueprint.node_t() -> atom()),
  definition: module(),
  repeatable: boolean(),
  __private__: Keyword.t(),
  __reference__: Absinthe.Type.Reference.t()

A defined directive.

  • :name - The name of the directive. Should be a lowercase binary. Set automatically.
  • :description - A nice description for introspection.
  • :args - A map of Absinthe.Type.Argument structs. See Absinthe.Schema.Notation.arg/2.
  • :locations - A list of places the directives can be used.
  • :repeatable - A directive may be defined as repeatable by including the “repeatable” keyword

The :__reference__ key is for internal use.