Passed
Push — main ( 045e26...facf4a )
by Breno
01:43
created

IsEmpty::isValid()   A

Complexity

Conditions 5
Paths 3

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 5
nc 3
nop 2
dl 0
loc 11
rs 9.6111
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
namespace BrenoRoosevelt\Validation\Rules;
5
6
use Attribute;
7
use BrenoRoosevelt\Validation\AbstractRule;
8
use BrenoRoosevelt\Validation\StopSign;
9
10
#[Attribute(Attribute::TARGET_PROPERTY|Attribute::TARGET_METHOD)]
11
class IsEmpty extends AbstractRule
12
{
13
    const MESSAGE = 'Value should be empty';
14
15
    public function isValid($input, array $context = []): bool
16
    {
17
        if (is_object($input)) {
18
            return false;
19
        }
20
21
        if ((is_array($input) || is_string($input)) && empty($input)) {
22
            return true;
23
        }
24
25
        return false;
26
    }
27
}
28