View Source Absinthe.Subscription.PipelineSerializer (absinthe v1.7.0)

Serializer responsible for packing and unpacking pipeline stored in the Elixir registry.

The purpose of this logic is saving memory by deduplicating repeating options - (ETS backed registry stores them flat in the memory).

Link to this section Summary

Link to this section Types

Specs

options_label() :: {:options, non_neg_integer()}

Specs

options_map() :: %{required(options_label()) => Keyword.t()}

Specs

packed_phase_config() ::
  Absinthe.Phase.t() | {Absinthe.Phase.t(), options_label()}

Specs

packed_pipeline() :: {:packed, [packed_phase_config()], options_map()}

Link to this section Functions