• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

api-platform / core / 19799301771

30 Nov 2025 01:04PM UTC coverage: 25.229% (-0.03%) from 25.257%
19799301771

push

github

web-flow
fix(metadata): repeatable attribute mutators (#7542)

14557 of 57700 relevant lines covered (25.23%)

28.11 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/src/Serializer/Mapping/Factory/ClassMetadataFactory.php
1
<?php
2

3
/*
4
 * This file is part of the API Platform project.
5
 *
6
 * (c) Kévin Dunglas <dunglas@gmail.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11

12
declare(strict_types=1);
13

14
namespace ApiPlatform\Serializer\Mapping\Factory;
15

16
use ApiPlatform\Metadata\Util\ClassInfoTrait;
17
use Symfony\Component\Serializer\Mapping\ClassMetadataInterface;
18
use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface;
19

20
final class ClassMetadataFactory implements ClassMetadataFactoryInterface
21
{
22
    use ClassInfoTrait;
23

24
    public function __construct(private readonly ClassMetadataFactoryInterface $decorated)
25
    {
26
    }
816✔
27

28
    /**
29
     * {@inheritdoc}
30
     *
31
     * @param string|object $value
32
     */
33
    public function getMetadataFor($value): ClassMetadataInterface
34
    {
35
        return $this->decorated->getMetadataFor(\is_object($value) ? $this->getObjectClass($value) : $this->getRealClassName($value));
630✔
36
    }
37

38
    /**
39
     * {@inheritdoc}
40
     */
41
    public function hasMetadataFor(mixed $value): bool
42
    {
43
        if (\is_object($value)) {
620✔
44
            $value = $this->getObjectClass($value);
546✔
45
        } elseif (\is_string($value)) {
418✔
46
            $value = $this->getRealClassName($value);
418✔
47
        }
48

49
        return $this->decorated->hasMetadataFor($value);
620✔
50
    }
51
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc