mayo v0.1.0 Mayo

Summary

Macros

Validates data with a schema

Macros

validate(value, schema)

Validates data with a schema.

iex> Mayo.validate "test", Mayo.String.min(4) |> String.capitalize
"Test"

iex> Mayo.validate 42, Mayo.Number.max(23)
{:error, %Mayo.Error{type: "number.max"}}

iex> Mayo.validate %{username: "johndoe"}, %{
...>   username: Mayo.Any.string |> Mayo.String.min(6)
...> }
%{username: "johndoe"}

iex> Mayo.validate %{username: "test"}, %{
...>   username: Mayo.Any.string |> Mayo.String.min(6)
...> }
{:error, %Mayo.Error{type: "string.min", path: :username}}