Dumbo.ObjectResolver behaviour (Dumbo v0.3.1)

Copy Markdown View Source

Behaviour for converting a decoded PHP object into an Elixir term, typically a struct.

defmodule User do
  @behaviour Dumbo.ObjectResolver

  defstruct [:name, :email]

  @impl Dumbo.ObjectResolver
  def resolve(%{"name" => name, "email" => email}) do
    %__MODULE__{name: name, email: email}
  end
end

opts = %Dumbo.DecodeOpts{
  object_resolvers: %{"User" => User}
}

Summary

Callbacks

Converts a decoded PHP object's properties map into an Elixir term.

Functions

Returns a resolver function for module.

Callbacks

resolve(object)

@callback resolve(object :: map()) :: term()

Converts a decoded PHP object's properties map into an Elixir term.

Functions

resolver(module)

@spec resolver(module()) :: (object :: map() -> term())

Returns a resolver function for module.