diff --git a/src/Predicate.php b/src/Predicate.php index 0247394..d8a983a 100644 --- a/src/Predicate.php +++ b/src/Predicate.php @@ -15,6 +15,7 @@ interface Predicate public function __invoke(...$args): bool; public function not(): Predicate; + public function negate(): Predicate; // should ALWAYS be alias for not public function and(...$predicate): Predicate; public function or(...$predicate): Predicate; diff --git a/src/Predicate/NegatedPredicate.php b/src/Predicate/NegatedPredicate.php index cbcc2e0..9bde7f4 100644 --- a/src/Predicate/NegatedPredicate.php +++ b/src/Predicate/NegatedPredicate.php @@ -10,9 +10,10 @@ namespace Kadet\Functional\Predicate; +use Kadet\Functional\Decorator; use Kadet\Functional\Predicate; -class NegatedPredicate extends AbstractPredicate +class NegatedPredicate extends AbstractPredicate implements Decorator { /** * Predicate to be negated. @@ -35,4 +36,9 @@ class NegatedPredicate extends AbstractPredicate { return !($this->negated)(...$args); } + + public function getDecorated() + { + $this->negated; + } } \ No newline at end of file