PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.6.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.6.1
4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / vendor / typisttech / imposter / src / Config.php
surecart / vendor / typisttech / imposter / src Last commit date
ArrayUtil.php 3 years ago Config.php 3 years ago ConfigCollection.php 3 years ago ConfigCollectionFactory.php 3 years ago ConfigCollectionInterface.php 3 years ago ConfigFactory.php 3 years ago ConfigInterface.php 3 years ago Filesystem.php 3 years ago FilesystemInterface.php 3 years ago Imposter.php 3 years ago ImposterFactory.php 3 years ago ImposterInterface.php 3 years ago ProjectConfig.php 3 years ago ProjectConfigInterface.php 3 years ago StringUtil.php 3 years ago Transformer.php 3 years ago TransformerInterface.php 3 years ago
Config.php
82 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace TypistTech\Imposter;
6
7 class Config implements ConfigInterface
8 {
9 /**
10 * @var string
11 */
12 protected $packageDir;
13
14 /**
15 * @var array
16 */
17 private $config;
18
19 public function __construct(string $packageDir, array $config)
20 {
21 $this->packageDir = StringUtil::addTrailingSlash($packageDir);
22 $this->config = $config;
23 }
24
25 /**
26 * @return string[]
27 */
28 public function getAutoloads(): array
29 {
30 return array_map(function (string $autoload): string {
31 return $this->packageDir . $autoload;
32 }, array_unique($this->getAutoloadPaths()));
33 }
34
35 /**
36 * @return string[]
37 */
38 private function getAutoloadPaths(): array
39 {
40 $autoloads = $this->get('autoload');
41 unset($autoloads['exclude-from-classmap']);
42
43 return ArrayUtil::flattenMap(function ($autoloadConfig): array {
44 return $this->normalizeAutoload($autoloadConfig);
45 }, $autoloads);
46 }
47
48 protected function get(string $key): array
49 {
50 return $this->config[$key] ?? [];
51 }
52
53 /**
54 * @param $autoloadConfigs
55 *
56 * @return string[]
57 */
58 private function normalizeAutoload($autoloadConfigs): array
59 {
60 if (! is_array($autoloadConfigs)) {
61 return [$autoloadConfigs];
62 }
63
64 return ArrayUtil::flattenMap(function ($autoloadConfig): array {
65 return $this->normalizeAutoload($autoloadConfig);
66 }, $autoloadConfigs);
67 }
68
69 public function getPackageDir(): string
70 {
71 return $this->packageDir;
72 }
73
74 /**
75 * @return string[]
76 */
77 public function getRequires(): array
78 {
79 return array_keys($this->get('require'));
80 }
81 }
82