Passed
Push — master ( 2e278f...341743 )
by Dominik
02:18
created

SerializationProvider   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 6

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 1
lcom 0
cbo 6
dl 0
loc 39
ccs 16
cts 16
cp 1
rs 10
c 1
b 0
f 1

1 Method

Rating   Name   Duplication   Size   Complexity  
B register() 0 33 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Chubbyphp\Serialization\Provider;
6
7
use Chubbyphp\Serialization\Registry\ObjectMappingRegistry;
8
use Chubbyphp\Serialization\Serializer;
9
use Chubbyphp\Serialization\Transformer\JsonTransformer;
10
use Chubbyphp\Serialization\Transformer\UrlEncodedTransformer;
11
use Chubbyphp\Serialization\Transformer\XmlTransformer;
12
use Chubbyphp\Serialization\Transformer\YamlTransformer;
13
use Pimple\Container;
14
use Pimple\ServiceProviderInterface;
15
16
final class SerializationProvider implements ServiceProviderInterface
17
{
18
    /**
19
     * @param Container $container
20
     */
21
    public function register(Container $container)
22
    {
23 1
        $container['serializer.objectmappings'] = function () {
24 1
            return [];
25
        };
26
27 1
        $container['serializer.objectmappingregistry'] = function () use ($container) {
28 1
            return new ObjectMappingRegistry($container['serializer.objectmappings']);
29
        };
30
31 1
        $container['serializer'] = function () use ($container) {
32 1
            return new Serializer(
33 1
                $container['serializer.objectmappingregistry'],
34 1
                $container['logger'] ?? null
35
            );
36
        };
37
38 1
        $container['serializer.transformer.json'] = function () {
39 1
            return new JsonTransformer();
40
        };
41
42 1
        $container['serializer.transformer.urlencoded'] = function () {
43 1
            return new UrlEncodedTransformer();
44
        };
45
46 1
        $container['serializer.transformer.xml'] = function () {
47 1
            return new XmlTransformer();
48
        };
49
50 1
        $container['serializer.transformer.yaml'] = function () {
51 1
            return new YamlTransformer();
52
        };
53
    }
54
}
55