Packages
open_api_spex
3.14.0
3.22.3
3.22.2
3.22.1
3.22.0
3.21.5
3.21.4
3.21.3
3.21.2
3.21.1
3.21.0
3.20.1
3.20.0
3.19.1
3.19.0
3.18.3
3.18.2
3.18.1
3.18.0
3.17.3
3.17.2
3.17.1
3.17.0
3.16.4
3.16.3
3.16.2
3.16.1
3.16.0
3.15.0
3.14.0
3.13.0
3.12.0
3.11.0
3.10.0
3.9.0
3.8.0
3.7.0
3.6.0
3.5.2
3.5.1
3.5.0
3.4.0
3.3.0
3.2.1
3.2.0
3.1.0
3.0.0
2.3.1
2.3.0
2.2.0
2.1.1
2.1.0
2.0.0
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
Leverage Open Api Specification 3 (swagger) to document, test, validate and explore your Plug and Phoenix APIs.
Current section
Files
Jump to
Current section
Files
lib/open_api_spex/cast/primitive.ex
defmodule OpenApiSpex.Cast.Primitive do
@moduledoc false
alias OpenApiSpex.Cast
## boolean
def cast_boolean(%{value: value}) when is_boolean(value) do
{:ok, value}
end
def cast_boolean(%{value: "true"}), do: {:ok, true}
def cast_boolean(%{value: "false"}), do: {:ok, false}
def cast_boolean(ctx) do
Cast.error(ctx, {:invalid_type, :boolean})
end
## number
def cast_number(%{value: value}) when is_float(value) do
{:ok, value}
end
def cast_number(%{value: value}) when is_integer(value) do
{:ok, value / 1}
end
def cast_number(%{value: value} = ctx) when is_binary(value) do
case Float.parse(value) do
{value, ""} -> {:ok, value}
_ -> Cast.error(ctx, {:invalid_type, :number})
end
end
def cast_number(ctx) do
Cast.error(ctx, {:invalid_type, :number})
end
end