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
Specs
pack(Absinthe.Pipeline.t()) :: packed_pipeline()
Specs
unpack(Absinthe.Pipeline.t() | packed_pipeline()) :: Absinthe.Pipeline.t()