Skip to content

Commit f62a027

Browse files
committed
make code even simpler... :)
1 parent 0aecc95 commit f62a027

1 file changed

Lines changed: 4 additions & 6 deletions

File tree

lib/atomic_map.ex

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,15 @@ defmodule AtomicMap do
33
def convert(map, opts) when is_map(map) do
44
safe = Keyword.get(opts, :safe, true)
55
map |> Enum.reduce(%{}, fn({k,v}, acc)->
6-
if is_binary(k), do: k = as_atom(k, safe)
7-
cond do
8-
is_complex?(v) -> Map.put(acc, k, convert(v, opts));
9-
true -> Map.put(acc, k, v)
10-
end
6+
if is_binary(k), do: k = as_atom(k, safe)
7+
if is_complex?(v), do: v = convert(v, opts)
8+
acc |> Map.put(k, v)
119
end)
1210
end
1311
def convert(list, opts) when is_list(list) do
1412
list |> Enum.map(fn(x)-> convert(x, opts) end)
1513
end
16-
def convert(v, opts), do: v
14+
def convert(v, _opts), do: v
1715

1816
defp is_complex?(v), do: is_map(v) || is_list(v)
1917
defp as_atom(s, true) when is_binary(s), do: s |> String.to_existing_atom

0 commit comments

Comments
 (0)