View Source Idx
Idx is a collection that allows creating indices on it and accessing it with a map-like API, for example:
iex> users = [%{name: "Bob", age: 20}, %{name: "Eve", age: 27}, %{name: "John", age: 45}]
iex> idx = Idx.new(users, & &1.name)
iex> Idx.get(idx, "Bob")
%{name: "Bob", age: 20}
iex> idx = Idx.create_index(idx, :initial, &String.first(&1.name))
iex> Idx.get(idx, Idx.key(:initial, "J"))
%{name: "John", age: 45}
iex> idx |> Enum.to_list() |> Enum.sort()
users
For more details, see the docs.
installation
Installation
The package can be installed by adding idx
to your list of dependencies in mix.exs
:
def deps do
[
{:idx, "~> 0.1.0"}
]
end