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

DoclerLabs / api-client-generator / 21433352645

28 Jan 2026 09:50AM UTC coverage: 86.69% (-0.3%) from 86.973%
21433352645

push

github

web-flow
Merge pull request #131 from DoclerLabs/dependabot/composer/phpunit/phpunit-9.6.33

Bump phpunit/phpunit from 9.5.9 to 9.6.33

3465 of 3997 relevant lines covered (86.69%)

7.11 hits per line

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

69.23
/src/Generator/Implementation/ContainerImplementationStrategy.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace DoclerLabs\ApiClientGenerator\Generator\Implementation;
6

7
use DoclerLabs\ApiClientGenerator\Ast\Builder\CodeBuilder;
8
use DoclerLabs\ApiClientGenerator\Ast\Builder\MethodBuilder;
9
use DoclerLabs\ApiClientGenerator\Generator\Implementation\Container\PimpleContainer;
10
use PhpParser\Node\Expr;
11
use PhpParser\Node\Expr\Closure;
12
use PhpParser\Node\Expr\Variable;
13
use UnexpectedValueException;
14

15
class ContainerImplementationStrategy implements ContainerImplementationInterface
16
{
17
    public const CONTAINER_PIMPLE = 'pimple';
18

19
    public const CONTAINER_IMPLEMENTATIONS = [
20
        self::CONTAINER_PIMPLE => PimpleContainer::class,
21
    ];
22

23
    private ContainerImplementationInterface $containerImplementation;
24

25
    public function __construct(string $container, string $baseNamespace, CodeBuilder $builder)
26
    {
27
        if (!isset(self::CONTAINER_IMPLEMENTATIONS[$container])) {
2✔
28
            $supported = json_encode(self::CONTAINER_IMPLEMENTATIONS, JSON_THROW_ON_ERROR);
×
29

30
            throw new UnexpectedValueException(
×
31
                'Unsupported container `' . $container . '`. Should be one of ' . $supported
×
32
            );
×
33
        }
34
        $implementationClassName = self::CONTAINER_IMPLEMENTATIONS[$container];
2✔
35

36
        $this->containerImplementation = new $implementationClassName($baseNamespace, $builder);
2✔
37
    }
38

39
    public function generateInitContainerMethod(): MethodBuilder
40
    {
41
        return $this->containerImplementation->generateInitContainerMethod();
2✔
42
    }
43

44
    public function registerClosure(Variable $containerVariable, Expr $key, Closure $closure): Expr
45
    {
46
        return $this->containerImplementation->registerClosure($containerVariable, $key, $closure);
2✔
47
    }
48

49
    public function getClosure(Variable $containerVariable, Expr $key): Expr
50
    {
51
        return $this->containerImplementation->getClosure($containerVariable, $key);
2✔
52
    }
53

54
    public function getPackages(): array
55
    {
56
        return $this->containerImplementation->getPackages();
2✔
57
    }
58

59
    public function getContainerInitImports(): array
60
    {
61
        return $this->containerImplementation->getContainerInitImports();
2✔
62
    }
63

64
    public function getContainerRegisterImports(): array
65
    {
66
        return $this->containerImplementation->getContainerRegisterImports();
2✔
67
    }
68
}
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