View Source Absinthe.Phase behaviour (absinthe v1.7.1)

Behaviour for Absinthe Phases.

A phase takes an Absinthe.Blueprint document and returns another blueprint document. All validation, resolution, and result building happens via phases. See Absinthe.Pipeline for information on how to run phases. See the code under this namespace for information on individual phases.

Link to this section Summary

Link to this section Types

@type result_t() ::
  {:ok, any()}
  | {:jump, any(), t()}
  | {:insert, any(), t() | [t()]}
  | {:replace, any(), t() | [t()]}
  | {:error, any()}
  | {:record_phases, any(), (any(), any() -> any())}
@type t() :: module()

Link to this section Callbacks

@callback run(any(), any()) :: result_t()

Link to this section Functions

@spec put_error(Absinthe.Blueprint.node_t(), Absinthe.Phase.Error.t()) ::
  Absinthe.Blueprint.node_t()