Packages

Library to facilitate control flow, providing a Plug like interface.

Current section

Files

Jump to
codex lib codex validator.ex
Raw

lib/codex/validator.ex

defmodule Codex.Validator do
@moduledoc """
Behaviour for validating incoming params
"""
@callback validate(params :: any, schema :: any) :: {:ok, any} | {:error, any}
@macrocallback setup() :: Macro.t()
@doc false
def validate(module, params, schema) do
case schema do
nil -> {:ok, params}
schema -> module.validate(params, schema)
end
end
end