lib/fussy/validator.ex

defmodule Fussy.Validator do
  alias Fussy.ValidationError

  @type t :: module()

  @type path :: [any()]

  @callback validate(self :: term, path :: path, data :: any) ::
              {:ok, any} | {:reason, [ValidationError.t()]}
end