Cast   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 12
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 4
c 1
b 0
f 0
dl 0
loc 12
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A asParser() 0 3 2
A asParsers() 0 5 1
1
<?php declare(strict_types=1);
2
3
namespace Stratadox\Parser\Helpers;
4
5
use Stratadox\Parser\Parser;
6
use Stratadox\Parser\Parsers\Text;
7
use function array_map;
8
use function is_string;
9
10
/**
11
 * Cast
12
 *
13
 * Casts Parser|string to Parser
14
 */
15
final class Cast
16
{
17
    public static function asParser(Parser|string $parser): Parser
18
    {
19
        return is_string($parser) ? Text::is($parser) : $parser;
20
    }
21
22
    public static function asParsers(Parser|string ...$parsers): array
23
    {
24
        return array_map(
25
            fn(Parser|string $parser) => Cast::asParser($parser),
26
            $parsers
27
        );
28
    }
29
}
30