Cast::asParser()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 2
nc 2
nop 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