Completed
Push — master ( 785bde...8b4d11 )
by Freek
01:29
created

src/Macros/EachCons.php (2 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Spatie\CollectionMacros\Macros;
4
5
use Illuminate\Support\Collection;
6
7
/*
8
 * Get the consecutive values in the collection defined by the given chunk size.
9
 *
10
 * @param int $chunkSize
11
 * @param bool $preserveKeys
12
 *
13
 * @return \Illuminate\Support\Collection
14
 */
15
class EachCons
16
{
17
    public function __invoke()
18
    {
19
        return function (int $chunkSize, bool $preserveKeys = false): Collection {
20
            $size = $this->count() - $chunkSize + 1;
0 ignored issues
show
The method count() does not seem to exist on object<Spatie\CollectionMacros\Macros\EachCons>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
21
            $result = collect(range(0, $size))->reduce(function ($result, $index) use ($chunkSize, $preserveKeys) {
22
                $next = $this->slice($index, $chunkSize);
0 ignored issues
show
The method slice() does not seem to exist on object<Spatie\CollectionMacros\Macros\EachCons>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
23
24
                return $next->count() === $chunkSize ? $result->push($preserveKeys ? $next : $next->values()) : $result;
25
            }, new static([]));
26
27
            return $preserveKeys ? $result : $result->values();
28
        };
29
    }
30
}
31