TNl   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 25
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0
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
    protected string $delimitElements = '|';
16
17
    /** @var array<string, string> */
18
    protected static array $escapeNlTr = [
19
        "\r\n" => INl::CRLF_REPLACEMENT,
20
        "\r" => INl::CR_REPLACEMENT,
21
        "\n" => INl::LF_REPLACEMENT,
22
    ];
23
24 11
    public function unescapeNl(string $content): string
25
    {
26 11
        static::$escapeNlTr[$this->delimitElements] = INl::SEP_REPLACEMENT;
27 11
        return strtr($content, array_flip(static::$escapeNlTr));
28
    }
29
30
    /**
31
     * @param mixed $content
32
     * @return string
33
     */
34 9
    public function escapeNl($content): string
35
    {
36 9
        static::$escapeNlTr[$this->delimitElements] = INl::SEP_REPLACEMENT;
37 9
        return strtr(strval($content), static::$escapeNlTr);
38
    }
39
}
40