Ordered map for Elixir lang
-
A set of functions and a macro for working with ordered maps.
-
An ordered map is a struct with a list of key-value tuples where key and value can be any value.
-
It can be serialized to JSON with Poison - you need to add OrdMap Poison encoder to your project dependencies.
iex> o%{"foo" => "bar"}
%OrdMap{tuples: [{"foo", "bar"}]}
iex> my_ord_map = OrdMap.new([{"foo", 1}, {"bar", 2}])
iex> OrdMap.get(my_ord_map, "bar")
2
iex> my_ord_map = o%{"foo" => o(%{nested: "something"}), "bar" => "two"}
iex> my_ord_map["foo"][:nested]
"something"
iex> my_ord_map = o%{"foo" => 1, "bar" => 2}
iex> Enum.map my_ord_map, fn {key, value} -> {key, value + 1} end
[{"foo", 2}, {"bar", 3}]
First, add OrdMap to your mix.exs dependencies:
def deps do
[
{:ord_map, "~> 0.1.0"}
]
end
Then, update your dependencies:
$ mix deps.get
OrdMap is released under MIT (see LICENSE
).