Issues (85)

src/Operation/ScanRight.php (1 issue)

Labels
Severity
1
<?php
2
3
declare(strict_types=1);
4
5
namespace loophp\collection\Operation;
6
7
use Closure;
8
use Generator;
9
10
/**
11
 * @immutable
12
 *
13
 * @template TKey
14
 * @template T
15
 */
16
final class ScanRight extends AbstractOperation
17
{
18
    /**
19
     * @template V
20
     *
21
     * @return Closure(callable(mixed, mixed, mixed, iterable<mixed, mixed>): mixed): Closure(mixed): Closure(iterable<TKey, T>): Generator<TKey|int, mixed>
22
     */
23 6
    public function __invoke(): Closure
24
    {
25 6
        return
26
            /**
27
             * @param callable(V, T, TKey, iterable<TKey, T>): V $callback
28
             *
29
             * @return Closure(V): Closure(iterable<TKey, T>): Generator<TKey|int, V>
30
             */
31 6
            static fn (callable $callback): Closure =>
32
                /**
33
                 * @param V $initial
0 ignored issues
show
The type loophp\collection\Operation\V was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
34
                 *
35
                 * @return Closure(iterable<TKey, T>): Generator<TKey|int, V>
36
                 */
37 6
                static function (mixed $initial) use ($callback): Closure {
38
                    /** @var Closure(iterable<TKey, T>): Generator<TKey|int, V> $pipe */
39 6
                    $pipe = (new Pipe())()(
40 6
                        (new Reverse())(),
41 6
                        (new ScanLeft())()($callback)($initial),
42 6
                        (new Reverse())()
43 6
                    );
44
45
                    // Point free style.
46 6
                    return $pipe;
47 6
                };
48
    }
49
}
50