PluginProbe
Code Snippets / 3.10.2
Code Snippets v3.10.2
4.0.0-beta.2 3.10.2 3.10.1 3.10.0 3.10.0-beta.2 3.10.0-beta.1 4.0.0-beta.1 3.9.6 trunk 2.10.0 2.10.1 2.12.0 2.12.1 2.13.0 2.13.1 2.13.2 2.13.3 2.14.0 2.14.1 2.14.2 2.14.3 2.14.4 2.14.5 2.14.6 3.0.0 All 65 releases
code-snippets / vendor / typisttech / imposter / src / ConfigCollection.php

ConfigCollection.php in Code Snippets 3.10.2, at vendor/typisttech/imposter/src/ConfigCollection.php

44 lines 818 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace TypistTech\Imposter;
6
7 class ConfigCollection implements ConfigCollectionInterface
8 {
9 /**
10 * @var ConfigInterface[]
11 */
12 private $configs = [];
13
14 /**
15 * @param ConfigInterface $config
16 *
17 * @return void
18 */
19 public function add(ConfigInterface $config)
20 {
21 $this->configs[$config->getPackageDir()] = $config;
22 }
23
24 /**
25 * @return string[]
26 */
27 public function getAutoloads(): array
28 {
29 $autoloads = ArrayUtil::flattenMap(function (ConfigInterface $config) {
30 return $config->getAutoloads();
31 }, $this->all());
32
33 return array_unique($autoloads);
34 }
35
36 /**
37 * @return ConfigInterface[]
38 */
39 public function all(): array
40 {
41 return $this->configs;
42 }
43 }
44