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

Punctuation::getAllPunctuations()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

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