Value::match()   A
last analyzed

Complexity

Conditions 4
Paths 8

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 3
nc 8
nop 1
dl 0
loc 5
rs 9.2
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Scalp\PatternMatching\Pattern;
6
7
use function Scalp\None;
8
use function Scalp\Option;
9
use Scalp\Option;
10
11
final class Value extends Pattern
12
{
13
    private $value;
14
15
    public function __construct($value)
16
    {
17
        $this->value = $value;
18
    }
19
20
    public function match($x): Option
21
    {
22
        return is_object($x)
23
            ? ($this->value == $x ? Option([]) : None())
24
            : ($this->value === $x ? Option([]) : None());
25
    }
26
}
27