lib/core/data_type_utils.ex
defmodule ElixirScaffold.Core.DataTypeUtils do
def normalize(%{__struct__: _} = value), do: value
def normalize(%{} = map) do
Map.to_list(map)
|> Enum.map(fn {key, value} -> {String.to_atom(key), normalize(value)} end)
|> Enum.into(%{})
end
def normalize(value) when is_list(value), do: Enum.map(value, &normalize/1)
def normalize(value), do: value
end