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

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

Type system creators will usually not create these directly.

Summary

Types

t()

A defined directive.

Types

@type location() ::
  :query
  | :mutation
  | :field
  | :fragment_definition
  | :fragment_spread
  | :inline_fragment
@type 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.