ArrayCodecPropertyMarker2Mapper   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 24 1
1
<?php
2
/**
3
 * Created by IntelliJ IDEA.
4
 * User: gerk
5
 * Date: 03.04.17
6
 * Time: 00:26
7
 */
8
9
namespace PeekAndPoke\Component\Slumber\Core\Codec;
10
11
use PeekAndPoke\Component\Slumber\Annotation\Slumber;
12
use PeekAndPoke\Component\Slumber\Core;
13
use PeekAndPoke\Component\Slumber\Core\LookUp\PropertyMarker2Mapper;
14
15
/**
16
 * @author Karsten J. Gerber <[email protected]>
17
 */
18
class ArrayCodecPropertyMarker2Mapper extends PropertyMarker2Mapper
19
{
20 394
    public function __construct()
21
    {
22 394
        parent::__construct(
23 394
            Core\Codec\Property\AsIsMapper::class,
24
            [
25
                // nested objects and collections of nested objects
26 394
                Slumber\AsObject::class             => Core\Codec\Property\ObjectMapper::class,
27
                Slumber\AsList::class               => Core\Codec\Property\ListMapper::class,
28
                Slumber\AsMap::class                => Core\Codec\Property\MapMapper::class,
29
                Slumber\AsKeyValuePairs::class      => Core\Codec\Property\KeyValuePairsMapper::class,
30
                // no mapping
31
                Slumber\AsIs::class                 => Core\Codec\Property\AsIsMapper::class,
32
                // primitive types
33
                Slumber\AsBool::class               => Core\Codec\Property\BoolMapper::class,
34
                Slumber\AsDecimal::class            => Core\Codec\Property\DecimalMapper::class,
35
                Slumber\AsInteger::class            => Core\Codec\Property\IntegerMapper::class,
36
                Slumber\AsString::class             => Core\Codec\Property\StringMapper::class,
37
                // object and other common types
38
                Slumber\AsEnum::class               => Core\Codec\Property\EnumMapper::class,
39
                Slumber\AsSimpleDate::class         => Core\Codec\Property\SimpleDateMapper::class,
40
                Slumber\AsLocalDate::class          => Core\Codec\Property\LocalDateMapper::class,
41
                // geo json
42
                Slumber\GeoJson\AsPoint::class      => Core\Codec\Property\GeoJson\PointMapper::class,
43
                Slumber\GeoJson\AsLineString::class => Core\Codec\Property\GeoJson\LineStringMapper::class,
44
            ]
45
        );
46 394
    }
47
}
48