Value   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 14
rs 10
c 0
b 0
f 0
wmc 5

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A match() 0 5 4
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