want v1.1.1 Want.Map
Manages conversions to and from maps.
Link to this section Summary
Functions
Cast an incoming keyword list or map to an output map using the provided schema to control conversion rules and validations.
Link to this section Types
Link to this section Functions
Cast an incoming keyword list or map to an output map using the provided schema to control conversion rules and validations.
Examples
iex> Want.Map.cast(%{"id" => 1}, %{id: [type: :integer]}) {:ok, %{id: 1}}
iex> Want.Map.cast(%{}, %{id: [type: :integer, default: 1]}) {:ok, %{id: 1}}
iex> Want.Map.cast(%{"id" => "bananas"}, %{id: [type: :integer, default: 1]}) {:ok, %{id: 1}}
iex> Want.Map.cast(%{"hello" => "world", "foo" => "bar"}, %{hello: [], foo: [type: :atom]}) {:ok, %{hello: "world", foo: :bar}}
iex> Want.Map.cast(%{"hello" => %{"foo" => "bar"}}, %{hello: %{foo: [type: :atom]}}) {:ok, %{hello: %{foo: :bar}}}