ValueDefinition   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 3
dl 0
loc 25
ccs 6
cts 6
cp 1
rs 10
c 2
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getType() 0 3 1
A resolve() 0 3 1
A __construct() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Definitions;
6
7
use Psr\Container\ContainerInterface;
8
use Yiisoft\Definitions\Contract\DefinitionInterface;
9
10
/**
11
 * Value definition resolves value passed as is.
12
 */
13
final class ValueDefinition implements DefinitionInterface
14
{
15
    /**
16
     * @param mixed $value Value to be returned on resolving.
17
     * @param string|null $type Value type.
18
     */
19 35
    public function __construct(
20
        private mixed $value,
21
        private ?string $type = null
22
    ) {
23 35
    }
24
25
    /**
26
     * Get type of the value.
27
     *
28
     * @return string|null Value type.
29
     */
30 1
    public function getType(): ?string
31
    {
32 1
        return $this->type;
33
    }
34
35 29
    public function resolve(ContainerInterface $container): mixed
36
    {
37 29
        return $this->value;
38
    }
39
}
40