Passed
Push — visitor ( 36593a...2e0d31 )
by Akihito
02:04
created

CompileNullObject   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 13
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 5
c 1
b 0
f 0
dl 0
loc 13
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 8 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace src;
6
7
use Ray\Di\Container;
8
use Ray\Di\DependencyInterface;
9
use Ray\Di\NullObjectDependency;
10
11
/**
12
 * Convert NullObjectDependency to Dependency
13
 */
14
final class CompileNullObject
15
{
16
    /**
17
     * @retrun void
18
     */
19
    public function __invoke(Container $container, string $scriptDir): void
20
    {
21
        $container->map(static function (DependencyInterface $dependency) use ($scriptDir) {
22
            if ($dependency instanceof NullObjectDependency) {
23
                return $dependency->toNull($scriptDir);
24
            }
25
26
            return $dependency;
27
        });
28
    }
29
}
30