create-berna-stencil 2.6.2 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/README.md +1 -1
  2. package/_tools/buildJs.js +1 -1
  3. package/_tools/cleanOutput.js +1 -1
  4. package/package.json +2 -2
  5. package/out/.htaccess +0 -16
  6. package/out/404.html +0 -163
  7. package/out/assets/brand/favicon.svg +0 -37
  8. package/out/assets/brand/logo.svg +0 -37
  9. package/out/backend/.htaccess +0 -7
  10. package/out/backend/_core/composer.json +0 -5
  11. package/out/backend/_core/composer.lock +0 -492
  12. package/out/backend/_core/index.php +0 -148
  13. package/out/backend/_core/init.php +0 -34
  14. package/out/backend/_core/modules/RateLimiter.php +0 -31
  15. package/out/backend/_core/modules/Response.php +0 -49
  16. package/out/backend/_core/vendor/autoload.php +0 -22
  17. package/out/backend/_core/vendor/composer/ClassLoader.php +0 -579
  18. package/out/backend/_core/vendor/composer/InstalledVersions.php +0 -396
  19. package/out/backend/_core/vendor/composer/LICENSE +0 -21
  20. package/out/backend/_core/vendor/composer/autoload_classmap.php +0 -15
  21. package/out/backend/_core/vendor/composer/autoload_files.php +0 -12
  22. package/out/backend/_core/vendor/composer/autoload_namespaces.php +0 -9
  23. package/out/backend/_core/vendor/composer/autoload_psr4.php +0 -15
  24. package/out/backend/_core/vendor/composer/autoload_real.php +0 -50
  25. package/out/backend/_core/vendor/composer/autoload_static.php +0 -81
  26. package/out/backend/_core/vendor/composer/installed.json +0 -497
  27. package/out/backend/_core/vendor/composer/installed.php +0 -77
  28. package/out/backend/_core/vendor/composer/platform_check.php +0 -25
  29. package/out/backend/_core/vendor/graham-campbell/result-type/CHANGELOG.md +0 -53
  30. package/out/backend/_core/vendor/graham-campbell/result-type/LICENSE +0 -21
  31. package/out/backend/_core/vendor/graham-campbell/result-type/README.md +0 -42
  32. package/out/backend/_core/vendor/graham-campbell/result-type/composer.json +0 -33
  33. package/out/backend/_core/vendor/graham-campbell/result-type/phpunit.xml.dist +0 -13
  34. package/out/backend/_core/vendor/graham-campbell/result-type/src/Error.php +0 -121
  35. package/out/backend/_core/vendor/graham-campbell/result-type/src/Result.php +0 -69
  36. package/out/backend/_core/vendor/graham-campbell/result-type/src/Success.php +0 -120
  37. package/out/backend/_core/vendor/graham-campbell/result-type/tests/ResultTest.php +0 -95
  38. package/out/backend/_core/vendor/phpoption/phpoption/LICENSE +0 -201
  39. package/out/backend/_core/vendor/phpoption/phpoption/Makefile +0 -17
  40. package/out/backend/_core/vendor/phpoption/phpoption/README.md +0 -201
  41. package/out/backend/_core/vendor/phpoption/phpoption/composer.json +0 -50
  42. package/out/backend/_core/vendor/phpoption/phpoption/phpstan-baseline.neon +0 -44
  43. package/out/backend/_core/vendor/phpoption/phpoption/phpstan.neon.dist +0 -7
  44. package/out/backend/_core/vendor/phpoption/phpoption/phpunit.xml.dist +0 -13
  45. package/out/backend/_core/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +0 -175
  46. package/out/backend/_core/vendor/phpoption/phpoption/src/PhpOption/None.php +0 -136
  47. package/out/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Option.php +0 -434
  48. package/out/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Some.php +0 -169
  49. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +0 -72
  50. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +0 -357
  51. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +0 -153
  52. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +0 -166
  53. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +0 -194
  54. package/out/backend/_core/vendor/phpoption/phpoption/tests/bootstrap.php +0 -8
  55. package/out/backend/_core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +0 -8
  56. package/out/backend/_core/vendor/symfony/polyfill-ctype/Ctype.php +0 -232
  57. package/out/backend/_core/vendor/symfony/polyfill-ctype/LICENSE +0 -19
  58. package/out/backend/_core/vendor/symfony/polyfill-ctype/README.md +0 -12
  59. package/out/backend/_core/vendor/symfony/polyfill-ctype/bootstrap.php +0 -50
  60. package/out/backend/_core/vendor/symfony/polyfill-ctype/bootstrap80.php +0 -46
  61. package/out/backend/_core/vendor/symfony/polyfill-ctype/composer.json +0 -38
  62. package/out/backend/_core/vendor/symfony/polyfill-mbstring/LICENSE +0 -19
  63. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Mbstring.php +0 -1077
  64. package/out/backend/_core/vendor/symfony/polyfill-mbstring/README.md +0 -13
  65. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +0 -119
  66. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +0 -1397
  67. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +0 -5
  68. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +0 -1489
  69. package/out/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap.php +0 -171
  70. package/out/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap80.php +0 -167
  71. package/out/backend/_core/vendor/symfony/polyfill-mbstring/composer.json +0 -39
  72. package/out/backend/_core/vendor/symfony/polyfill-php80/LICENSE +0 -19
  73. package/out/backend/_core/vendor/symfony/polyfill-php80/Php80.php +0 -115
  74. package/out/backend/_core/vendor/symfony/polyfill-php80/PhpToken.php +0 -106
  75. package/out/backend/_core/vendor/symfony/polyfill-php80/README.md +0 -25
  76. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -31
  77. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +0 -16
  78. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -20
  79. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -16
  80. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -16
  81. package/out/backend/_core/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
  82. package/out/backend/_core/vendor/symfony/polyfill-php80/composer.json +0 -37
  83. package/out/backend/_core/vendor/vlucas/phpdotenv/.editorconfig +0 -15
  84. package/out/backend/_core/vendor/vlucas/phpdotenv/LICENSE +0 -30
  85. package/out/backend/_core/vendor/vlucas/phpdotenv/Makefile +0 -17
  86. package/out/backend/_core/vendor/vlucas/phpdotenv/README.md +0 -370
  87. package/out/backend/_core/vendor/vlucas/phpdotenv/UPGRADING.md +0 -196
  88. package/out/backend/_core/vendor/vlucas/phpdotenv/composer.json +0 -60
  89. package/out/backend/_core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +0 -157
  90. package/out/backend/_core/vendor/vlucas/phpdotenv/phpstan.neon.dist +0 -7
  91. package/out/backend/_core/vendor/vlucas/phpdotenv/phpunit.xml.dist +0 -13
  92. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Dotenv.php +0 -267
  93. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +0 -12
  94. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +0 -12
  95. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +0 -12
  96. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +0 -12
  97. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +0 -12
  98. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Loader.php +0 -48
  99. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +0 -20
  100. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +0 -65
  101. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Entry.php +0 -59
  102. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +0 -299
  103. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +0 -58
  104. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lines.php +0 -127
  105. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Parser.php +0 -53
  106. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +0 -19
  107. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Value.php +0 -88
  108. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +0 -15
  109. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +0 -89
  110. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +0 -80
  111. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +0 -88
  112. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +0 -85
  113. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +0 -110
  114. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +0 -48
  115. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +0 -64
  116. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +0 -91
  117. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +0 -17
  118. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +0 -104
  119. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +0 -88
  120. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +0 -27
  121. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +0 -107
  122. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +0 -272
  123. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +0 -51
  124. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +0 -44
  125. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +0 -81
  126. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/FileStore.php +0 -72
  127. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +0 -141
  128. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +0 -17
  129. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/StringStore.php +0 -37
  130. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Util/Regex.php +0 -112
  131. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Util/Str.php +0 -108
  132. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Validator.php +0 -207
  133. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +0 -387
  134. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +0 -86
  135. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +0 -234
  136. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +0 -40
  137. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +0 -53
  138. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +0 -98
  139. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +0 -57
  140. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +0 -75
  141. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +0 -52
  142. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +0 -75
  143. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +0 -305
  144. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +0 -141
  145. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +0 -479
  146. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +0 -5
  147. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +0 -18
  148. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +0 -33
  149. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +0 -15
  150. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +0 -1
  151. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +0 -1
  152. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +0 -7
  153. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +0 -1
  154. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +0 -17
  155. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +0 -2
  156. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +0 -3
  157. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +0 -14
  158. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +0 -4
  159. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +0 -1
  160. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +0 -15
  161. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +0 -11
  162. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +0 -8
  163. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +0 -2
  164. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +0 -3
  165. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +0 -1
  166. package/out/backend/_core/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +0 -15
  167. package/out/backend/api/protected/example-protected.php +0 -17
  168. package/out/backend/api/public/example-public.php +0 -17
  169. package/out/backend/database/Database.php +0 -24
  170. package/out/backend/database/migrations/create_example_db.sql +0 -1
  171. package/out/backend/web.config +0 -17
  172. package/out/css/fonts/bootstrap-icons.woff +0 -0
  173. package/out/css/fonts/bootstrap-icons.woff2 +0 -0
  174. package/out/css/github-markdown-dark.css +0 -1124
  175. package/out/css/github-markdown-light.css +0 -1124
  176. package/out/css/pages/404.css +0 -21517
  177. package/out/css/pages/homepage.css +0 -21508
  178. package/out/data/site.json +0 -44
  179. package/out/index.html +0 -1147
  180. package/out/js/bootstrap.bundle.min.js +0 -7
  181. package/out/js/pages/js/pages/404.js +0 -6
  182. package/out/js/pages/js/pages/homepage.js +0 -6
  183. package/out/js/pages/ts/pages/404.js +0 -6
  184. package/out/js/pages/ts/pages/homepage.js +0 -6
  185. package/out/llms.txt +0 -14
  186. package/out/robots.txt +0 -4
  187. package/out/sitemap.xml +0 -15
  188. package/out/web.config +0 -27
@@ -1,267 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv;
6
-
7
- use Dotenv\Exception\InvalidPathException;
8
- use Dotenv\Loader\Loader;
9
- use Dotenv\Loader\LoaderInterface;
10
- use Dotenv\Parser\Parser;
11
- use Dotenv\Parser\ParserInterface;
12
- use Dotenv\Repository\Adapter\ArrayAdapter;
13
- use Dotenv\Repository\Adapter\PutenvAdapter;
14
- use Dotenv\Repository\RepositoryBuilder;
15
- use Dotenv\Repository\RepositoryInterface;
16
- use Dotenv\Store\StoreBuilder;
17
- use Dotenv\Store\StoreInterface;
18
- use Dotenv\Store\StringStore;
19
-
20
- class Dotenv
21
- {
22
- /**
23
- * The store instance.
24
- *
25
- * @var \Dotenv\Store\StoreInterface
26
- */
27
- private $store;
28
-
29
- /**
30
- * The parser instance.
31
- *
32
- * @var \Dotenv\Parser\ParserInterface
33
- */
34
- private $parser;
35
-
36
- /**
37
- * The loader instance.
38
- *
39
- * @var \Dotenv\Loader\LoaderInterface
40
- */
41
- private $loader;
42
-
43
- /**
44
- * The repository instance.
45
- *
46
- * @var \Dotenv\Repository\RepositoryInterface
47
- */
48
- private $repository;
49
-
50
- /**
51
- * Create a new dotenv instance.
52
- *
53
- * @param \Dotenv\Store\StoreInterface $store
54
- * @param \Dotenv\Parser\ParserInterface $parser
55
- * @param \Dotenv\Loader\LoaderInterface $loader
56
- * @param \Dotenv\Repository\RepositoryInterface $repository
57
- *
58
- * @return void
59
- */
60
- public function __construct(
61
- StoreInterface $store,
62
- ParserInterface $parser,
63
- LoaderInterface $loader,
64
- RepositoryInterface $repository
65
- ) {
66
- $this->store = $store;
67
- $this->parser = $parser;
68
- $this->loader = $loader;
69
- $this->repository = $repository;
70
- }
71
-
72
- /**
73
- * Create a new dotenv instance.
74
- *
75
- * @param \Dotenv\Repository\RepositoryInterface $repository
76
- * @param string|string[] $paths
77
- * @param string|string[]|null $names
78
- * @param bool $shortCircuit
79
- * @param string|null $fileEncoding
80
- *
81
- * @return \Dotenv\Dotenv
82
- */
83
- public static function create(RepositoryInterface $repository, $paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
84
- {
85
- $builder = $names === null ? StoreBuilder::createWithDefaultName() : StoreBuilder::createWithNoNames();
86
-
87
- foreach ((array) $paths as $path) {
88
- $builder = $builder->addPath($path);
89
- }
90
-
91
- foreach ((array) $names as $name) {
92
- $builder = $builder->addName($name);
93
- }
94
-
95
- if ($shortCircuit) {
96
- $builder = $builder->shortCircuit();
97
- }
98
-
99
- return new self($builder->fileEncoding($fileEncoding)->make(), new Parser(), new Loader(), $repository);
100
- }
101
-
102
- /**
103
- * Create a new mutable dotenv instance with default repository.
104
- *
105
- * @param string|string[] $paths
106
- * @param string|string[]|null $names
107
- * @param bool $shortCircuit
108
- * @param string|null $fileEncoding
109
- *
110
- * @return \Dotenv\Dotenv
111
- */
112
- public static function createMutable($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
113
- {
114
- $repository = RepositoryBuilder::createWithDefaultAdapters()->make();
115
-
116
- return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
117
- }
118
-
119
- /**
120
- * Create a new mutable dotenv instance with default repository with the putenv adapter.
121
- *
122
- * @param string|string[] $paths
123
- * @param string|string[]|null $names
124
- * @param bool $shortCircuit
125
- * @param string|null $fileEncoding
126
- *
127
- * @return \Dotenv\Dotenv
128
- */
129
- public static function createUnsafeMutable($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
130
- {
131
- $repository = RepositoryBuilder::createWithDefaultAdapters()
132
- ->addAdapter(PutenvAdapter::class)
133
- ->make();
134
-
135
- return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
136
- }
137
-
138
- /**
139
- * Create a new immutable dotenv instance with default repository.
140
- *
141
- * @param string|string[] $paths
142
- * @param string|string[]|null $names
143
- * @param bool $shortCircuit
144
- * @param string|null $fileEncoding
145
- *
146
- * @return \Dotenv\Dotenv
147
- */
148
- public static function createImmutable($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
149
- {
150
- $repository = RepositoryBuilder::createWithDefaultAdapters()->immutable()->make();
151
-
152
- return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
153
- }
154
-
155
- /**
156
- * Create a new immutable dotenv instance with default repository with the putenv adapter.
157
- *
158
- * @param string|string[] $paths
159
- * @param string|string[]|null $names
160
- * @param bool $shortCircuit
161
- * @param string|null $fileEncoding
162
- *
163
- * @return \Dotenv\Dotenv
164
- */
165
- public static function createUnsafeImmutable($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
166
- {
167
- $repository = RepositoryBuilder::createWithDefaultAdapters()
168
- ->addAdapter(PutenvAdapter::class)
169
- ->immutable()
170
- ->make();
171
-
172
- return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
173
- }
174
-
175
- /**
176
- * Create a new dotenv instance with an array backed repository.
177
- *
178
- * @param string|string[] $paths
179
- * @param string|string[]|null $names
180
- * @param bool $shortCircuit
181
- * @param string|null $fileEncoding
182
- *
183
- * @return \Dotenv\Dotenv
184
- */
185
- public static function createArrayBacked($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
186
- {
187
- $repository = RepositoryBuilder::createWithNoAdapters()->addAdapter(ArrayAdapter::class)->make();
188
-
189
- return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
190
- }
191
-
192
- /**
193
- * Parse the given content and resolve nested variables.
194
- *
195
- * This method behaves just like load(), only without mutating your actual
196
- * environment. We do this by using an array backed repository.
197
- *
198
- * @param string $content
199
- *
200
- * @throws \Dotenv\Exception\InvalidFileException
201
- *
202
- * @return array<string, string|null>
203
- */
204
- public static function parse(string $content)
205
- {
206
- $repository = RepositoryBuilder::createWithNoAdapters()->addAdapter(ArrayAdapter::class)->make();
207
-
208
- $phpdotenv = new self(new StringStore($content), new Parser(), new Loader(), $repository);
209
-
210
- return $phpdotenv->load();
211
- }
212
-
213
- /**
214
- * Read and load environment file(s).
215
- *
216
- * @throws \Dotenv\Exception\InvalidPathException|\Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidFileException
217
- *
218
- * @return array<string, string|null>
219
- */
220
- public function load()
221
- {
222
- $entries = $this->parser->parse($this->store->read());
223
-
224
- return $this->loader->load($this->repository, $entries);
225
- }
226
-
227
- /**
228
- * Read and load environment file(s), silently failing if no files can be read.
229
- *
230
- * @throws \Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidFileException
231
- *
232
- * @return array<string, string|null>
233
- */
234
- public function safeLoad()
235
- {
236
- try {
237
- return $this->load();
238
- } catch (InvalidPathException $e) {
239
- // suppressing exception
240
- return [];
241
- }
242
- }
243
-
244
- /**
245
- * Required ensures that the specified variables exist, and returns a new validator object.
246
- *
247
- * @param string|string[] $variables
248
- *
249
- * @return \Dotenv\Validator
250
- */
251
- public function required($variables)
252
- {
253
- return (new Validator($this->repository, (array) $variables))->required();
254
- }
255
-
256
- /**
257
- * Returns a new validator object that won't check if the specified variables exist.
258
- *
259
- * @param string|string[] $variables
260
- *
261
- * @return \Dotenv\Validator
262
- */
263
- public function ifPresent($variables)
264
- {
265
- return new Validator($this->repository, (array) $variables);
266
- }
267
- }
@@ -1,12 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Exception;
6
-
7
- use Throwable;
8
-
9
- interface ExceptionInterface extends Throwable
10
- {
11
- //
12
- }
@@ -1,12 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Exception;
6
-
7
- use InvalidArgumentException;
8
-
9
- final class InvalidEncodingException extends InvalidArgumentException implements ExceptionInterface
10
- {
11
- //
12
- }
@@ -1,12 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Exception;
6
-
7
- use InvalidArgumentException;
8
-
9
- final class InvalidFileException extends InvalidArgumentException implements ExceptionInterface
10
- {
11
- //
12
- }
@@ -1,12 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Exception;
6
-
7
- use InvalidArgumentException;
8
-
9
- final class InvalidPathException extends InvalidArgumentException implements ExceptionInterface
10
- {
11
- //
12
- }
@@ -1,12 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Exception;
6
-
7
- use RuntimeException;
8
-
9
- final class ValidationException extends RuntimeException implements ExceptionInterface
10
- {
11
- //
12
- }
@@ -1,48 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Loader;
6
-
7
- use Dotenv\Parser\Entry;
8
- use Dotenv\Parser\Value;
9
- use Dotenv\Repository\RepositoryInterface;
10
-
11
- final class Loader implements LoaderInterface
12
- {
13
- /**
14
- * Load the given entries into the repository.
15
- *
16
- * We'll substitute any nested variables, and send each variable to the
17
- * repository, with the effect of actually mutating the environment.
18
- *
19
- * @param \Dotenv\Repository\RepositoryInterface $repository
20
- * @param \Dotenv\Parser\Entry[] $entries
21
- *
22
- * @return array<string, string|null>
23
- */
24
- public function load(RepositoryInterface $repository, array $entries)
25
- {
26
- /** @var array<string, string|null> */
27
- return \array_reduce($entries, static function (array $vars, Entry $entry) use ($repository) {
28
- $name = $entry->getName();
29
-
30
- $value = $entry->getValue()->map(static function (Value $value) use ($repository) {
31
- return Resolver::resolve($repository, $value);
32
- });
33
-
34
- if ($value->isDefined()) {
35
- $inner = $value->get();
36
- if ($repository->set($name, $inner)) {
37
- return \array_merge($vars, [$name => $inner]);
38
- }
39
- } else {
40
- if ($repository->clear($name)) {
41
- return \array_merge($vars, [$name => null]);
42
- }
43
- }
44
-
45
- return $vars;
46
- }, []);
47
- }
48
- }
@@ -1,20 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Loader;
6
-
7
- use Dotenv\Repository\RepositoryInterface;
8
-
9
- interface LoaderInterface
10
- {
11
- /**
12
- * Load the given entries into the repository.
13
- *
14
- * @param \Dotenv\Repository\RepositoryInterface $repository
15
- * @param \Dotenv\Parser\Entry[] $entries
16
- *
17
- * @return array<string, string|null>
18
- */
19
- public function load(RepositoryInterface $repository, array $entries);
20
- }
@@ -1,65 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Loader;
6
-
7
- use Dotenv\Parser\Value;
8
- use Dotenv\Repository\RepositoryInterface;
9
- use Dotenv\Util\Regex;
10
- use Dotenv\Util\Str;
11
- use PhpOption\Option;
12
-
13
- final class Resolver
14
- {
15
- /**
16
- * This class is a singleton.
17
- *
18
- * @codeCoverageIgnore
19
- *
20
- * @return void
21
- */
22
- private function __construct()
23
- {
24
- //
25
- }
26
-
27
- /**
28
- * Resolve the nested variables in the given value.
29
- *
30
- * Replaces ${varname} patterns in the allowed positions in the variable
31
- * value by an existing environment variable.
32
- *
33
- * @param \Dotenv\Repository\RepositoryInterface $repository
34
- * @param \Dotenv\Parser\Value $value
35
- *
36
- * @return string
37
- */
38
- public static function resolve(RepositoryInterface $repository, Value $value)
39
- {
40
- return \array_reduce($value->getVars(), static function (string $s, int $i) use ($repository) {
41
- return Str::substr($s, 0, $i).self::resolveVariable($repository, Str::substr($s, $i));
42
- }, $value->getChars());
43
- }
44
-
45
- /**
46
- * Resolve a single nested variable.
47
- *
48
- * @param \Dotenv\Repository\RepositoryInterface $repository
49
- * @param string $str
50
- *
51
- * @return string
52
- */
53
- private static function resolveVariable(RepositoryInterface $repository, string $str)
54
- {
55
- return Regex::replaceCallback(
56
- '/\A\${([a-zA-Z0-9_.]+)}/',
57
- static function (array $matches) use ($repository) {
58
- /** @var string */
59
- return Option::fromValue($repository->get($matches[1]))->getOrElse($matches[0]);
60
- },
61
- $str,
62
- 1
63
- )->success()->getOrElse($str);
64
- }
65
- }
@@ -1,59 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Parser;
6
-
7
- use PhpOption\Option;
8
-
9
- final class Entry
10
- {
11
- /**
12
- * The entry name.
13
- *
14
- * @var string
15
- */
16
- private $name;
17
-
18
- /**
19
- * The entry value.
20
- *
21
- * @var \Dotenv\Parser\Value|null
22
- */
23
- private $value;
24
-
25
- /**
26
- * Create a new entry instance.
27
- *
28
- * @param string $name
29
- * @param \Dotenv\Parser\Value|null $value
30
- *
31
- * @return void
32
- */
33
- public function __construct(string $name, ?Value $value = null)
34
- {
35
- $this->name = $name;
36
- $this->value = $value;
37
- }
38
-
39
- /**
40
- * Get the entry name.
41
- *
42
- * @return string
43
- */
44
- public function getName()
45
- {
46
- return $this->name;
47
- }
48
-
49
- /**
50
- * Get the entry value.
51
- *
52
- * @return \PhpOption\Option<\Dotenv\Parser\Value>
53
- */
54
- public function getValue()
55
- {
56
- /** @var \PhpOption\Option<\Dotenv\Parser\Value> */
57
- return Option::fromValue($this->value);
58
- }
59
- }