Maybe monad¶
If a previous contraint outputs a Maybe
and you want to access the inner value you can do:
use Innmind\Validation\Is;
use Innmind\Immutable\Maybe;
$validate = Is::int()
->or(Is::null())
->map(Maybe::of(...))
->and(Is::just());
In this example the input can be an int
or null
but it will fail the validation in case the value is null
because Maybe::of(...)
will move the null
as a Nothing
and we say we want a Just
.