Packages
jsv
0.6.2
0.21.2
0.21.1
0.21.0
0.20.0
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.3
0.18.2
0.18.1
0.18.0
0.17.1
0.17.0
0.16.0
0.15.2
0.15.1
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.5
0.11.4
0.11.3
retired
0.11.2
0.11.1
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
A JSON Schema Validator with complete support for the latest specifications.
Current section
Files
Jump to
Current section
Files
lib/jsv/cast.ex
defmodule JSV.Cast do
import JSV
@moduledoc false
defcast string_to_integer(data) do
with true <- is_binary(data),
{int, ""} <- Integer.parse(data) do
{:ok, int}
else
_ -> {:error, "invalid integer representation"}
end
end
defcast string_to_float(data) do
with true <- is_binary(data),
{float, ""} <- Float.parse(data) do
{:ok, float}
else
_ -> {:error, "invalid floating point number representation"}
end
end
defcast string_to_existing_atom(data) do
{:ok, String.to_existing_atom(data)}
rescue
ArgumentError -> {:error, "not an existing atom representation"}
end
end