Passed
Push — main ( 867243...8997a7 )
by Breno
01:42
created

AllowsNull   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 13
Duplicated Lines 0 %

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A instance() 0 3 1
A validate() 0 3 1
1
<?php
2
declare(strict_types=1);
3
4
namespace BrenoRoosevelt\Validation\Rules;
5
6
use Attribute;
7
use BrenoRoosevelt\Validation\Result;
8
use BrenoRoosevelt\Validation\Validation;
9
use BrenoRoosevelt\Validation\ValidationResult;
10
11
#[Attribute(Attribute::TARGET_PROPERTY)]
12
final class AllowsNull implements Validation
13
{
14
    private static ?self $instance = null;
15
16
    public static function instance(): self
17
    {
18
        return self::$instance ?? self::$instance = new self;
19
    }
20
21
    public function validate(mixed $input, array $context = []): Result
22
    {
23
        return ValidationResult::everythingIsOk();
24
    }
25
}
26