Absinthe.Blueprint (absinthe v1.6.0) View Source

Represents the graphql document to be executed.

Please see the code itself for more information on individual blueprint sub modules.

Link to this section Summary

Functions

Get the currently selected operation.

Append the given field or fields to the given type

Determine whether a flag has been set on a node.

See Absinthe.Blueprint.Transform.postwalk/2.

See Absinthe.Blueprint.Transform.postwalk/3.

See Absinthe.Blueprint.Transform.prewalk/2.

See Absinthe.Blueprint.Transform.prewalk/3.

Add a flag to a node.

Index the types by their name

Update the current operation.

Link to this section Types

Specs

flags_t() :: %{required(atom()) => module()}

Specs

node_t() ::
  t()
  | Absinthe.Blueprint.Directive.t()
  | Absinthe.Blueprint.Document.t()
  | Absinthe.Blueprint.Schema.t()
  | Absinthe.Blueprint.Input.t()
  | Absinthe.Blueprint.TypeReference.t()

Specs

result_t() :: %{
  optional(:data) => term(),
  optional(:errors) => [term()],
  optional(:extensions) => term()
}

Specs

t() :: %Absinthe.Blueprint{
  adapter: nil | Absinthe.Adapter.t(),
  directives: [Absinthe.Blueprint.Schema.DirectiveDefinition.t()],
  errors: [Absinthe.Phase.Error.t()],
  execution: Absinthe.Blueprint.Execution.t(),
  flags: flags_t(),
  fragments: [Absinthe.Blueprint.Document.Fragment.Named.t()],
  initial_phases: [Absinthe.Phase.t()],
  input: nil | Absinthe.Language.Document.t(),
  name: nil | String.t(),
  operations: [Absinthe.Blueprint.Document.Operation.t()],
  prototype_schema: nil | Absinthe.Schema.t(),
  result: result_t(),
  schema: nil | Absinthe.Schema.t(),
  schema_definitions: [Absinthe.Blueprint.Schema.SchemaDefinition.t()],
  source: nil | String.t() | Absinthe.Language.Source.t(),
  telemetry: map()
}

Specs

use_t() ::
  Absinthe.Blueprint.Document.Fragment.Named.Use.t()
  | Absinthe.Blueprint.Input.Variable.Use.t()

Link to this section Functions

Link to this function

add_field(blueprint, type_def_name, new_field)

View Source
Link to this function

current_operation(blueprint)

View Source

Specs

current_operation(t()) :: nil | Absinthe.Blueprint.Document.Operation.t()

Get the currently selected operation.

Link to this function

extend_fields(blueprint, ext_blueprint)

View Source

Append the given field or fields to the given type

Specs

flagged?(node_t(), atom()) :: boolean()

Determine whether a flag has been set on a node.

Link to this function

fragment(blueprint, name)

View Source

Specs

fragment(t(), String.t()) ::
  nil | Absinthe.Blueprint.Document.Fragment.Named.t()
Link to this function

postwalk(blueprint, fun)

View Source

See Absinthe.Blueprint.Transform.postwalk/2.

Link to this function

postwalk(blueprint, acc, fun)

View Source

See Absinthe.Blueprint.Transform.postwalk/3.

See Absinthe.Blueprint.Transform.prewalk/2.

Link to this function

prewalk(blueprint, acc, fun)

View Source

See Absinthe.Blueprint.Transform.prewalk/3.

Link to this function

put_flag(node, flag, mod)

View Source

Specs

put_flag(node_t(), atom(), module()) :: node_t()

Add a flag to a node.

Link to this function

types_by_name(blueprint)

View Source

Index the types by their name

Link to this function

update_current(blueprint, change)

View Source

Specs

update_current(
  t(),
  (Absinthe.Blueprint.Document.Operation.t() ->
     Absinthe.Blueprint.Document.Operation.t())
) :: t()

Update the current operation.