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

api-platform / core / 16050929464

03 Jul 2025 12:51PM UTC coverage: 22.065% (+0.2%) from 21.821%
16050929464

push

github

soyuka
chore: todo improvement

11516 of 52192 relevant lines covered (22.06%)

22.08 hits per line

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

100.0
/src/Symfony/Validator/ValidationGroupsExtractorTrait.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\Symfony\Validator;
15

16
use Psr\Container\ContainerInterface;
17
use Symfony\Component\Validator\Constraints\GroupSequence;
18

19
trait ValidationGroupsExtractorTrait
20
{
21
    /**
22
     * A service locator for ValidationGroupsGenerator.
23
     */
24
    private ?ContainerInterface $container = null;
25

26
    public function getValidationGroups(\Closure|array|GroupSequence|string|null $validationGroups, ?object $data = null): string|array|GroupSequence|null
27
    {
28
        if (null === $validationGroups) {
197✔
29
            return $validationGroups;
189✔
30
        }
31

32
        if (
33
            $this->container
8✔
34
            && \is_string($validationGroups)
8✔
35
            && $this->container->has($validationGroups)
8✔
36
            && ($service = $this->container->get($validationGroups))
8✔
37
            && \is_callable($service)
8✔
38
        ) {
39
            $validationGroups = $service($data);
2✔
40
        } elseif (\is_callable($validationGroups)) {
6✔
41
            $validationGroups = $validationGroups($data);
2✔
42
        }
43

44
        if (!$validationGroups instanceof GroupSequence) {
8✔
45
            $validationGroups = (array) $validationGroups;
6✔
46
        }
47

48
        return $validationGroups;
8✔
49
    }
50
}
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

© 2025 Coveralls, Inc