Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
Operator
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
5
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 get
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
4
1<?php
2
3declare(strict_types=1);
4
5namespace Cosray\Finder\Output;
6
7use Cosray\Exception\ParserException;
8use Cosray\Finder\Input\Token;
9use Cosray\Finder\Input\TokenType;
10use Override;
11
12class Operator implements Output
13{
14    public function __construct(
15        #[\SensitiveParameter]
16        public Token $token,
17    ) {}
18
19    #[Override]
20    public function get(): string
21    {
22        return match ($this->token->type) {
23            TokenType::And => ' AND ',
24            TokenType::Or => ' OR ',
25            default => throw new ParserException('Invalid boolean operator'),
26        };
27    }
28}