Skip to content

Commit

Permalink
Update Chunk operation.
Browse files Browse the repository at this point in the history
  • Loading branch information
drupol committed Jul 6, 2020
1 parent 597122c commit 20e3573
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/Operation/Chunk.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

use Closure;
use Generator;
use loophp\collection\Collection;
use loophp\collection\Contract\Operation;
use loophp\collection\Iterator\IterableIterator;
use loophp\collection\Transformation\Run;

use function count;

Expand All @@ -26,24 +26,24 @@ public function __invoke(): Closure
* @param array<int, int> $sizes
*/
static function (iterable $collection, array $sizes): Generator {
$sizes = new IterableIterator(
(new Collection($sizes))->loop()
$sizesIterator = new IterableIterator(
(new Run(new Loop()))($sizes)
);

$values = [];

foreach ($collection as $value) {
if (0 >= $sizes->current()) {
if (0 >= $sizesIterator->current()) {
return yield from [];
}

if (count($values) !== $sizes->current()) {
if (count($values) !== $sizesIterator->current()) {
$values[] = $value;

continue;
}

$sizes->next();
$sizesIterator->next();

yield $values;

Expand Down

0 comments on commit 20e3573

Please sign in to comment.