TNl::escapeNl()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
c 0
b 0
f 0
nc 1
nop 1
dl 0
loc 4
ccs 3
cts 3
cp 1
crap 1
rs 10
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