lib/fussy/validators/optional.ex
defmodule Fussy.Validators.Optional do
@behaviour Fussy.Validator
alias Fussy.Utils
defstruct [:inner]
def new(inner), do: %__MODULE__{inner: inner}
@impl true
def validate(_, nil) do
{:ok, nil}
end
@impl true
def validate(%__MODULE__{inner: inner}, data) do
Utils.validate_using(inner, data)
end
end