Item::number()   A
last analyzed

Complexity

Conditions 2
Paths 1

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 1
nop 2
1
<?php declare(strict_types=1);
2
3
namespace Stratadox\Parser\Helpers;
4
5
use Stratadox\Parser\Parser;
6
use Stratadox\Parser\Parsers\Map;
7
use function is_array;
8
9
/**
10
 * Item
11
 *
12
 * Transforms an array result into its nth item.
13
 */
14
final class Item
15
{
16
    public static function number(int|string $n, Parser $parser): Parser
17
    {
18
        return Map::the($parser, fn($x) => is_array($x) ? ($x[$n] ?? $x) : $x);
19
    }
20
}
21