EmailValidator::validate()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 4
nc 2
nop 1
dl 0
loc 8
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types=1);
2
3
namespace Phypes\Validator;
4
5
use Phypes\Error\TypeError;
6
use Phypes\Error\TypeErrorCode;
7
use Phypes\Result\Failure;
8
use Phypes\Result\Result;
9
use Phypes\Result\Success;
10
11
class EmailValidator implements Validator
12
{
13
    public function validate($email): Result
14
    {
15
        if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
16
            return new Success();
17
        }
18
19
        $error = new TypeError(TypeErrorCode::EMAIL_INVALID, 'The provided email is invalid.');
20
        return new Failure($error);
21
    }
22
}