Packages

JSON-related helpers for your Elixir testing needs

Current section

Files

Jump to
test_that_json lib test_that_json parsing.ex
Raw

lib/test_that_json/parsing.ex

defmodule TestThatJson.Parsing do
def parse!(json) when is_binary(json) do
JSX.decode!(json)
rescue
ArgumentError -> raise TestThatJson.InvalidJsonError
end
def parse!(value), do: value
def parse(json) when is_binary(json) do
case JSX.decode(json) do
{:error, _} -> {:error, {TestThatJson.InvalidJsonError, [json], "Invalid JSON"}}
result -> result
end
end
def parse(value), do: {:ok, value}
end