Ansi   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 3
eloc 7
c 2
b 0
f 0
dl 0
loc 21
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A clear() 0 3 1
A sgr() 0 8 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace WebServCo\Framework\Cli;
6
7
final class Ansi
8
{
9
    /**
10
    * Select Graphic Rendition
11
    *
12
    * @see \WebServCo\Framework\Cli\Sgr
13
     * @param array<int,int> $parameters ANSI SGR parameters (alterantively use the Sgr class constants)
14
     */
15
    public static function sgr(string $string, array $parameters): string
16
    {
17
        $result = '';
18
        foreach ($parameters as $parameter) {
19
            $result .= \sprintf("\e[%sm", $parameter);
20
        }
21
        $result .= $string . \sprintf("\e[%sm", Sgr::RESET);
22
        return $result;
23
    }
24
25
    public static function clear(): string
26
    {
27
        return "\e[H\e[J";
28
    }
29
}
30