Test Setup Failed
Push — master ( b50703...9d91c5 )
by Dominik
06:16
created

CallbackFieldDenormalizer::getGroups()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Chubbyphp\Deserialization\Denormalizer;
6
7
final class CallbackFieldDenormalizer implements FieldDenormalizerInterface
8
{
9
    /**
10
     * @var callable
11
     */
12
    private $callback;
13
14
    /**
15
     * @var array
16
     */
17
    private $groups;
18
19
    /**
20
     * @param callable $callback
21
     * @param array    $groups
22
     */
23
    public function __construct(callable $callback, array $groups = [])
24
    {
25
        $this->callback = $callback;
26
        $this->groups = $groups;
27
    }
28
29
    /**
30
     * @param string                     $path
31
     * @param object                     $object
32
     * @param mixed                      $value
33
     * @param DenormalizerInterface|null $denormalizer
34
     */
35
    public function denormalizeField(string $path, $object, $value, DenormalizerInterface $denormalizer = null)
36
    {
37
        $callback = $this->callback;
38
39
        $callback($path, $object, $value, $denormalizer);
40
    }
41
42
    /**
43
     * @return array
44
     */
45
    public function getGroups(): array
46
    {
47
        return $this->groups;
48
    }
49
}
50