Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
36 / 36
100.00% covered (success)
100.00%
4 / 4
CRAP
100.00% covered (success)
100.00%
1 / 1
BinaryOperator
100.00% covered (success)
100.00%
36 / 36
100.00% covered (success)
100.00%
4 / 4
4
100.00% covered (success)
100.00%
1 / 1
 allowsNumbers
100.00% covered (success)
100.00%
14 / 14
100.00% covered (success)
100.00%
1 / 1
1
 allowsNull
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
1
 allowsBoolean
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
1
 allowsString
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2namespace Apie\TypescriptCodeBuilder\Enums;
3
4enum BinaryOperator: string
5{
6    case Add = '+';
7    case Subtract = '-';
8    case Divide = '/';
9    case Multiply = '*';
10    case LogicalAnd = '&&';
11    case BitwiseAnd = '&';
12    case BitwiseOr = '|';
13    case LogicalOr = '||';
14    case Equal = '===';
15    case NotEqual = '!==';
16    case LessThan = '<';
17    case LessThanOrEqual = '<=';
18    case GreaterThan = '>';
19    case GreaterThanOrEqual = '>=';
20    case NullCoalesce = '??';
21
22    public function allowsNumbers(): bool
23    {
24        return in_array($this, [
25            self::Add,
26            self::Subtract,
27            self::Divide,
28            self::Multiply,
29            self::BitwiseAnd,
30            self::BitwiseOr,
31            self::Equal,
32            self::NotEqual,
33            self::LessThan,
34            self::LessThanOrEqual,
35            self::GreaterThan,
36            self::GreaterThanOrEqual
37        ]);
38    }
39
40    public function allowsNull(): bool
41    {
42        return in_array($this, [
43            self::Equal,
44            self::NotEqual,
45            self::NullCoalesce,
46        ]);
47    }
48
49    public function allowsBoolean(): bool
50    {
51        return in_array(
52            $this,
53            [
54                self::LogicalAnd,
55                self::LogicalOr,
56                self::Equal,
57                self::NotEqual,
58            ]
59        );
60    }
61
62    public function allowsString(): string
63    {
64        return in_array(
65            $this,
66            [
67                self::Add,
68                self::Equal,
69                self::NotEqual
70            ]
71        );
72    }
73}