Passed
Push — master ( c85748...2fd0ab )
by Petr
08:11
created

TNl   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 10
c 0
b 0
f 0
dl 0
loc 26
ccs 6
cts 6
cp 1
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A unescapeNl() 0 4 1
A escapeNl() 0 4 1
1
<?php
2
3
namespace kalanis\kw_mapper\Storage\Shared\FormatFiles;
4
5
6
use kalanis\kw_mapper\Interfaces\INl;
7
8
9
/**
10
 * Trait TNl
11
 * @package kalanis\kw_mapper\Storage\Shared\FormatFiles
12
 */
13
trait TNl
14
{
15
    /** @var string */
16
    protected $delimitElements = '|';
17
18
    /** @var array<string, string> */
19
    protected static $escapeNlTr = [
20
        "\r\n" => INl::CRLF_REPLACEMENT,
21
        "\r" => INl::CR_REPLACEMENT,
22
        "\n" => INl::LF_REPLACEMENT,
23
    ];
24
25 8
    public function unescapeNl(string $content): string
26
    {
27 8
        static::$escapeNlTr[$this->delimitElements] = INl::SEP_REPLACEMENT;
28 8
        return strtr($content, array_flip(static::$escapeNlTr));
29
    }
30
31
    /**
32
     * @param mixed $content
33
     * @return string
34
     */
35 9
    public function escapeNl($content): string
36
    {
37 9
        static::$escapeNlTr[$this->delimitElements] = INl::SEP_REPLACEMENT;
38 9
        return strtr(strval($content), static::$escapeNlTr);
39
    }
40
}
41