diff options
-rw-r--r-- | src/Reader.php | 33 |
1 files changed, 8 insertions, 25 deletions
diff --git a/src/Reader.php b/src/Reader.php index e714f43..0e335e8 100644 --- a/src/Reader.php +++ b/src/Reader.php @@ -92,15 +92,18 @@ class Reader extends AbstractCsv } /** - * Return a filtered Iterator based on the filtering settings + * Return a Filtered Iterator * - * @param Iterator $iterator The iterator to be filtered * @param callable $callable a callable function to be applied to each Iterator item * - * @return Iterator + * @return \Iterator */ - protected function execute(Iterator $iterator, callable $callable = null) + public function query(callable $callable = null) { + $iterator = new CallbackFilterIterator($this->getIterator(), function ($row) { + return is_array($row); + }); + $iterator = $this->applyFilter($iterator); $iterator = $this->applySortBy($iterator); $iterator = $this->applyInterval($iterator); @@ -112,22 +115,6 @@ class Reader extends AbstractCsv } /** - * Return a Filtered Iterator - * - * @param callable $callable a callable function to be applied to each Iterator item - * - * @return \Iterator - */ - public function query(callable $callable = null) - { - $iterator = new CallbackFilterIterator($this->getIterator(), function ($row) { - return is_array($row); - }); - - return $this->execute($iterator, $callable); - } - - /** * Apply a callback function on the CSV * * @param callable $callable The callback function to call on every element. @@ -138,11 +125,7 @@ class Reader extends AbstractCsv */ public function each(callable $callable) { - $iterator = new CallbackFilterIterator($this->getIterator(), function ($row) { - return is_array($row); - }); - - $iterator = $this->execute($iterator); + $iterator = $this->query(); $index = 0; foreach ($iterator as $rowIndex => $row) { if (true !== $callable($row, $rowIndex, $iterator)) { |