16 lines
346 B
Elixir
16 lines
346 B
Elixir
defmodule Plausible.Helpers.JSON do
|
|
@moduledoc """
|
|
Common helpers for JSON handling
|
|
"""
|
|
|
|
def decode_or_fallback(raw) do
|
|
with raw when is_binary(raw) <- raw,
|
|
{:ok, %{} = decoded} <- Jason.decode(raw) do
|
|
decoded
|
|
else
|
|
already_a_map when is_map(already_a_map) -> already_a_map
|
|
_any -> %{}
|
|
end
|
|
end
|
|
end
|