Completed
Push — master ( 14d075...b15cae )
by Paweł
12s
created

ModuleNormalizer::supportsNormalization()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\Serializer;
6
7
use App\Model\ModuleInterface;
8
use App\Serializer\Processor\ModuleProgressProcessor;
9
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
10
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
11
12
class ModuleNormalizer implements NormalizerInterface
13
{
14
    private $normalizer;
15
    private $moduleProgressProcessor;
16
17
    public function __construct(
18
        ObjectNormalizer $normalizer,
19
        ModuleProgressProcessor $moduleProgressProcessor
20
    ) {
21
        $this->normalizer = $normalizer;
22
        $this->moduleProgressProcessor = $moduleProgressProcessor;
23
    }
24
25
    public function normalize($object, $format = null, array $context = [])
26
    {
27
        $data = $this->normalizer->normalize($object, $format, $context);
28
        $data = $this->moduleProgressProcessor->process($object, $data);
29
30
        return $data;
31
    }
32
33
    public function supportsNormalization($data, $format = null): bool
34
    {
35
        return $data instanceof ModuleInterface;
36
    }
37
}
38