We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent b1d8e4e commit 07482cbCopy full SHA for 07482cb
1 file changed
lib/atomic_map.ex
@@ -11,17 +11,15 @@ defmodule AtomicMap do
11
def convert(map, opts) when is_map(map) do
12
safe = Keyword.get(opts, :safe, true)
13
map |> Enum.reduce(%{}, fn({k,v}, acc)->
14
- if is_binary(k), do: k = as_atom(k, safe)
15
- if is_complex?(v), do: v = convert(v, opts)
+ k = as_atom(k, safe)
+ v = convert(v, opts)
16
acc |> Map.put(k, v)
17
end)
18
end
19
def convert(list, opts) when is_list(list) do
20
list |> Enum.map(fn(x)-> convert(x, opts) end)
21
22
def convert(v, _opts), do: v
23
-
24
- defp is_complex?(v), do: is_map(v) || is_list(v)
25
defp as_atom(s, true) when is_binary(s), do: s |> String.to_existing_atom
26
defp as_atom(s, true), do: s
27
0 commit comments