Passed
Push — master ( 77b70f...ae1a26 )
by Petr
08:45
created

TTranslate   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 10
eloc 21
c 0
b 0
f 0
dl 0
loc 39
ccs 18
cts 18
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A translateTypeFrom() 0 14 6
A translateTypeTo() 0 10 4
1
<?php
2
3
namespace kalanis\kw_mapper\Mappers;
4
5
6
use kalanis\kw_mapper\Interfaces\IEntryType;
7
8
9
/**
10
 * Trait TTranslate
11
 * @package kalanis\kw_mapper\Mappers
12
 */
13
trait TTranslate
14
{
15
    /**
16
     * @param int $type
17
     * @param mixed $input
18
     * @return bool|float|int|mixed|string
19
     */
20 15
    protected function translateTypeFrom(int $type, $input)
21
    {
22
        switch ($type) {
23 15
            case IEntryType::TYPE_BOOLEAN:
24 8
                return boolval(intval($input));
25 11
            case IEntryType::TYPE_INTEGER:
26 7
                return intval($input);
27 9
            case IEntryType::TYPE_FLOAT:
28 2
                return floatval($input);
29 7
            case IEntryType::TYPE_ARRAY:
30 6
            case IEntryType::TYPE_OBJECT:
31 1
                return unserialize($input);
32
            default:
33 6
                return strval($input);
34
        }
35
    }
36
37
    /**
38
     * @param int $type
39
     * @param mixed $input
40
     * @return string
41
     */
42 11
    protected function translateTypeTo(int $type, $input): string
43
    {
44
        switch ($type) {
45 11
            case IEntryType::TYPE_BOOLEAN:
46 7
                return strval(intval($input));
47 9
            case IEntryType::TYPE_ARRAY:
48 8
            case IEntryType::TYPE_OBJECT:
49 1
                return serialize($input);
50
            default:
51 8
                return strval($input);
52
        }
53
    }
54
}
55