Current section
Files
Jump to
Current section
Files
lib/utils/kernel.ex
defmodule PotionIngredients.Utils do
defmacro iif(clause, expression, otherwise) do
quote do
if(unquote(clause)) do
unquote(expression)
else
unquote(otherwise)
end
end
end
def to_map(enum) when is_map(enum) do
Map.keys(enum)
|> Enum.reduce(Map.new(%{}), fn key, acc ->
Map.put(acc, key, to_map(Map.get(enum, key)))
end)
end
def to_map(enum) when is_list(enum) do
Enum.map(enum, fn e -> to_map(e) end)
end
def to_map(enum) do
enum
end
def to_json(enum) when is_map(enum) do
enum
|> Map.keys()
|> Enum.reduce(%{}, fn field, acc ->
Map.put(acc, String.to_atom(field), to_json(Map.get(enum, field)))
end)
end
def to_json(enum) when is_list(enum) do
Enum.map(enum, fn e -> to_json(e) end)
end
def to_json(enum) do
enum
end
end