19declare(strict_types=1);
31class Error implements Data\Result
40 if (!is_string(
$error) && !(
$error instanceof \Exception)) {
41 throw new \InvalidArgumentException(
"Expected error to be a string or an Exception.");
49 public function isOK(): bool
59 if ($this->
error instanceof \Exception) {
63 throw new Data\NotOKException($this->
error);
113 if ($result ===
null) {
118 throw new \UnexpectedValueException(
"The returned type of callable is not an instance of interface Result");
A result encapsulates a value or an error and simplifies the handling of those.
map(callable $f)
Create a new result where the contained value is modified with $f.Does nothing if !...
except(callable $f)
Feed the error into a callable and replace this with the result or do nothing if this is a value....
error()
Get the encapsulated error.\Exception|string LogicException if isOK
then(callable $f)
Get a new result from the callable or do nothing if this is an error.If null is returned from $f,...
value()
Get the encapsulated value.mixed Exception if !isOK, will either throw the contained exception or a N...
valueOr($default)
Get the encapsulated value or the supplied default if result is an error.mixed
isError()
Get to know if the result is an error.
isOK()
Get to know if the result is ok.
A result encapsulates a value or an error and simplifies the handling of those.