Passed
Branch develop (6632d7)
by Alexey
08:44
created

QueryObjectValueResolver   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 13
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 6
c 1
b 0
f 1
dl 0
loc 13
ccs 7
cts 7
cp 1
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A serialize() 0 6 1
A supports() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Nelexa\RequestDtoBundle\ArgumentResolver;
6
7
use Nelexa\RequestDtoBundle\Dto\QueryObjectInterface;
8
use Symfony\Component\HttpFoundation\Request;
9
use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata;
10
11
class QueryObjectValueResolver extends AbstractObjectValueResolver
12
{
13 14
    public function supports(Request $request, ArgumentMetadata $argument): bool
14
    {
15 14
        return is_a($argument->getType(), QueryObjectInterface::class, true);
16
    }
17
18 7
    protected function serialize(Request $request, ArgumentMetadata $argument): object
19
    {
20 7
        return $this->serializer->denormalize(
21 7
            $request->query->all(),
22 7
            $argument->getType(),
23 7
            $this->getSerializeFormat($request)
24
        );
25
    }
26
}
27