Current section

Files

Jump to
bingex lib bingex helpers.ex
Raw

lib/bingex/helpers.ex

defmodule Bingex.Helpers do
@moduledoc false
def reject_nils(enum) do
Enum.reject(enum, fn
{_key, nil} -> true
nil -> true
_ -> false
end)
end
def timestamp, do: :os.system_time(:millisecond)
def get_and_transform(data, key, default \\ nil, processor)
when is_function(processor, 1) do
case Map.fetch(data, key) do
{:ok, x} -> processor.(x)
:error -> default
end
end
def downcase(nil), do: ""
def downcase(x), do: String.downcase(x)
def upcase(nil), do: ""
def upcase(x), do: String.upcase(x)
def serialize(x) when is_list(x) do
content = Enum.map_join(x, ",", &serialize/1)
"[" <> content <> "]"
end
def serialize(%{} = x), do: JSON.encode!(x)
def serialize(x), do: Kernel.to_string(x)
end