diff --git a/src/Operation/Apply.php b/src/Operation/Apply.php index f76d1700b..681af17ae 100644 --- a/src/Operation/Apply.php +++ b/src/Operation/Apply.php @@ -16,13 +16,13 @@ final class Apply extends AbstractOperation { /** - * @psalm-return Closure(callable(T , TKey ): bool ...):Closure (Iterator): Generator + * @psalm-return Closure(callable(T , TKey, Iterator):bool ...): Closure(Iterator): Generator */ public function __invoke(): Closure { return /** - * @psalm-param callable(T, TKey):(bool) ...$callbacks + * @psalm-param callable(T, TKey, Iterator):bool ...$callbacks * * @psalm-return Closure(Iterator): Generator */ @@ -33,16 +33,12 @@ public function __invoke(): Closure * @psalm-return Generator */ static function (Iterator $iterator) use ($callbacks): Generator { - $continue = true; - foreach ($iterator as $key => $value) { - if (true === $continue) { - foreach ($callbacks as $cKey => $callback) { - $result = $callback($value, $key); + foreach ($callbacks as $cKey => $callback) { + $result = $callback($value, $key, $iterator); - if (false === $result) { - unset($callbacks[$cKey]); - } + if (false === $result) { + unset($callbacks[$cKey]); } }