Box.Enum (box v0.15.1)

View Source

Extra functions to work with Enums.

Summary

Functions

Maps an enumerable to get a given map's field

Creates a map from an enumerable keyed by a given function

Replaces a value in an enumerable from a given function.

Functions

field(enumerable, field)

@spec field(Enumerable.t(map()), atom() | String.t()) :: Enumerable.t()

Maps an enumerable to get a given map's field

Examples

iex> Box.Enum.field([%{value: 1}, %{value: 2}], :value) [1, 2]

key_by(enumerable, key_getter)

@spec key_by(Enumerable.t(), (any() -> any())) :: map()

Creates a map from an enumerable keyed by a given function

Examples

iex> Box.Enum.key_by([1, 2, 3], &(&1 *10)) %{10 => 1, 20 => 2, 30 => 3}

replace(enumerable, finder, new_value)

@spec replace(Enumerable.t(), (any() -> boolean()), any()) :: Enumerable.t()

Replaces a value in an enumerable from a given function.

Exmaples

iex> Box.Enum.replace([1, 2, 3, 4], &(&1 == 3), 10)
[1, 2, 10, 4]