Test Failed
Push — feature/115-labels-are-not-res... ( aa910a...505d91 )
by Sebastian
05:19
created

Punctuation   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 15
dl 0
loc 20
rs 10
c 1
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A getAllPunctuations() 0 9 1
1
<?php
2
3
namespace Seboettg\CiteProc\Rendering\Term;
4
5
use MyCLabs\Enum\Enum;
6
use Seboettg\CiteProc\CiteProc;
7
use Seboettg\Collection\ArrayList;
8
9
class Punctuation extends Enum
10
{
11
    public const OPEN_QUOTE = "open-quote";
12
    public const CLOSE_QUOTE = "close-quote";
13
    public const OPEN_INNER_QUOTE = "open-inner-quote";
14
    public const CLOSE_INNER_QUOTE = "close-inner-quote";
15
    public const PAGE_RANGE_DELIMITER = "page-range-delimiter";
16
    public const COLON = "colon";
17
    public const COMMA = "comma";
18
    public const SEMICOLON = "semicolon";
19
20
    public static function getAllPunctuations(): array
21
    {
22
        $values = new ArrayList(...Punctuation::values());
23
        return $values
24
            ->map(function (Punctuation $punctuation) {
25
                return CiteProc::getContext()->getLocale()->filter("terms", $punctuation->value)->single;
26
            })
27
            ->collect(function ($items) {
28
                return array_values($items);
29
            });
30
    }
31
}
32