Passed
Push — create-GacelaConfigTransfer-dt... ( 6b8dcc )
by Chema
03:59
created

GacelaConfigTransfer::getConfigKeyValues()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Gacela\Framework\Bootstrap\Setup;
6
7
use Closure;
8
use Gacela\Framework\Config\GacelaConfigBuilder\AppConfigBuilder;
9
use Gacela\Framework\Config\GacelaConfigBuilder\BindingsBuilder;
10
use Gacela\Framework\Config\GacelaConfigBuilder\SuffixTypesBuilder;
11
12
final class GacelaConfigTransfer
13
{
14
    /**
15
     * @param array<string, class-string|object|callable> $externalServices
16
     * @param list<string> $projectNamespaces
17
     * @param array<string,mixed> $configKeyValues
18
     * @param list<callable> $genericListeners
19
     * @param array<class-string,list<callable>> $specificListeners
20
     * @param list<class-string> $gacelaConfigsToExtend
21
     * @param list<class-string|callable> $plugins
22
     * @param array<string,list<Closure>> $servicesToExtend
23
     */
24 93
    public function __construct(
25
        private AppConfigBuilder $appConfigBuilder,
26
        private SuffixTypesBuilder $suffixTypesBuilder,
27
        private BindingsBuilder $bindingsBuilder,
28
        private ?array $externalServices,
29
        private ?bool $shouldResetInMemoryCache,
30
        private ?bool $fileCacheEnabled,
31
        private ?string $fileCacheDirectory,
32
        private ?array $projectNamespaces,
33
        private ?array $configKeyValues,
34
        private ?array $genericListeners,
35
        private ?array $specificListeners,
36
        private ?bool $areEventListenersEnabled,
37
        private ?array $gacelaConfigsToExtend,
38
        private ?array $plugins,
39
        private ?array $servicesToExtend,
40
    ) {
41 93
    }
42
43 93
    public function getAppConfigBuilder(): AppConfigBuilder
44
    {
45 93
        return $this->appConfigBuilder;
46
    }
47
48 93
    public function getSuffixTypesBuilder(): SuffixTypesBuilder
49
    {
50 93
        return $this->suffixTypesBuilder;
51
    }
52
53 93
    public function getBindingsBuilder(): BindingsBuilder
54
    {
55 93
        return $this->bindingsBuilder;
56
    }
57
58
    /**
59
     * @return null|array<string, class-string|object|callable>
0 ignored issues
show
Documentation Bug introduced by
The doc comment null|array<string, class-string|object|callable> at position 6 could not be parsed: Unknown type name 'class-string' at position 6 in null|array<string, class-string|object|callable>.
Loading history...
60
     */
61 93
    public function getExternalServices(): ?array
62
    {
63 93
        return $this->externalServices;
64
    }
65
66 93
    public function getShouldResetInMemoryCache(): ?bool
67
    {
68 93
        return $this->shouldResetInMemoryCache;
69
    }
70
71 93
    public function getFileCacheEnabled(): ?bool
72
    {
73 93
        return $this->fileCacheEnabled;
74
    }
75
76 93
    public function getFileCacheDirectory(): ?string
77
    {
78 93
        return $this->fileCacheDirectory;
79
    }
80
81 93
    public function getProjectNamespaces(): ?array
82
    {
83 93
        return $this->projectNamespaces;
84
    }
85
86 93
    public function getConfigKeyValues(): ?array
87
    {
88 93
        return $this->configKeyValues;
89
    }
90
91 93
    public function getAreEventListenersEnabled(): ?bool
92
    {
93 93
        return $this->areEventListenersEnabled;
94
    }
95
96 93
    public function getGenericListeners(): ?array
97
    {
98 93
        return $this->genericListeners;
99
    }
100
101 93
    public function getSpecificListeners(): ?array
102
    {
103 93
        return $this->specificListeners;
104
    }
105
106
    /**
107
     * @return list<class-string>
108
     */
109 93
    public function getGacelaConfigsToExtend(): array
110
    {
111 93
        return $this->gacelaConfigsToExtend ?? [];
112
    }
113
114 93
    public function getPlugins(): ?array
115
    {
116 93
        return $this->plugins;
117
    }
118
119 93
    public function getServicesToExtend(): ?array
120
    {
121 93
        return $this->servicesToExtend;
122
    }
123
}
124