Packages
zoi
0.16.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.1
0.16.0
0.15.0
0.14.1
0.14.0
0.13.1
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.7
0.10.6
0.10.5
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.1
0.9.0
0.9.0-rc.1
0.9.0-rc.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.3
0.1.2
0.1.1
0.1.0
Zoi is a schema validation library for Elixir, designed to provide a simple and flexible way to define and validate data.
Current section
Files
Jump to
Current section
Files
lib/zoi/errors.ex
defmodule Zoi.Errors do
@moduledoc false
alias Zoi.Error
@type t :: list(Error.t())
@spec merge(t(), t()) :: t()
def merge(errors1, errors2) do
errors1 ++ errors2
end
@spec add_error(Zoi.Context.error()) :: t()
def add_error(error) do
add_error([], error)
end
def add_error(errors, %Error{} = error) do
errors ++ [error]
end
def add_error(errors, message) when is_binary(message) do
error = Error.custom_error(issue: {message, []})
add_error(errors, error)
end
def add_error(errors, error) when is_map(error) do
error = Error.new(error)
add_error(errors, error)
end
def add_error(errors_1, errors_2) when is_list(errors_2) do
errors_1 ++ errors_2
end
end