indifferent v0.8.0 Indifferent.Sigils

Provide sigils for indifferent access.

Summary

Macros

sigil_I(sigil, modifiers)

Sigil version of Indifferent.path/1

Examples

iex> data = %{"a" => [b: {10, 20}]}
 iex> Kernel.get_in(data, ~I(a.b[1]))
 20

 iex> data = %{"a" => [b: {10, 20}]}
 iex> Kernel.pop_in(data, ~I(a.b))
 {{10, 20}, %{"a" => []}}
sigil_i(sigil, modifiers)

Sigil version of Indifferent.read/1

Examples

iex> data = %{"a" => [b: {10, 20}]}
 iex> ~i(data.a.b[1])
 20

 iex> data = %{"a" => [b: {10, 20}]}
 iex> ~i([x: data.a.b[0], y: data.a.b[1]])
 [x: 10, y: 20]
sigil_i(data, sigil, modifiers)

Sigil version of Indifferent.path/2

Examples

iex> data = %{"a" => [b: {10, 20}]}
 iex> data |> ~i(a.b[1])
 20