create-berna-stencil 2.0.9 → 2.0.10
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.
- package/bin/create.js +2 -1
- package/package.json +1 -1
- package/src/backend/_core/vendor/composer/autoload_static.php +10 -10
- package/src/backend/_core/vendor/composer/installed.json +6 -6
- package/src/backend/_core/vendor/composer/installed.php +2 -2
- package/src/backend/_core/vendor/graham-campbell/result-type/.gitattributes +9 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +132 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +31 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/.github/FUNDING.yml +2 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/.github/SECURITY.md +14 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/.github/workflows/stale.yml +11 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/.github/workflows/tests.yml +40 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/CHANGELOG.md +53 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/LICENSE +21 -21
- package/src/backend/_core/vendor/graham-campbell/result-type/README.md +42 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/composer.json +33 -33
- package/src/backend/_core/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
- package/src/backend/_core/vendor/graham-campbell/result-type/src/Error.php +121 -121
- package/src/backend/_core/vendor/graham-campbell/result-type/src/Result.php +69 -69
- package/src/backend/_core/vendor/graham-campbell/result-type/src/Success.php +120 -120
- package/src/backend/_core/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
- package/src/backend/_core/vendor/phpoption/phpoption/.gitattributes +13 -0
- package/src/backend/_core/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +132 -0
- package/src/backend/_core/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +30 -0
- package/src/backend/_core/vendor/phpoption/phpoption/.github/FUNDING.yml +2 -0
- package/src/backend/_core/vendor/phpoption/phpoption/.github/SECURITY.md +14 -0
- package/src/backend/_core/vendor/phpoption/phpoption/.github/workflows/static.yml +40 -0
- package/src/backend/_core/vendor/phpoption/phpoption/.github/workflows/tests.yml +40 -0
- package/src/backend/_core/vendor/phpoption/phpoption/LICENSE +200 -200
- package/src/backend/_core/vendor/phpoption/phpoption/Makefile +17 -0
- package/src/backend/_core/vendor/phpoption/phpoption/README.md +201 -0
- package/src/backend/_core/vendor/phpoption/phpoption/composer.json +50 -50
- package/src/backend/_core/vendor/phpoption/phpoption/phpstan-baseline.neon +44 -0
- package/src/backend/_core/vendor/phpoption/phpoption/phpstan.neon.dist +7 -0
- package/src/backend/_core/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
- package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -175
- package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -136
- package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -434
- package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -169
- package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +72 -0
- package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +357 -0
- package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
- package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +166 -0
- package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
- package/src/backend/_core/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
- package/src/backend/_core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
- package/src/backend/_core/vendor/symfony/polyfill-ctype/Ctype.php +232 -232
- package/src/backend/_core/vendor/symfony/polyfill-ctype/LICENSE +19 -19
- package/src/backend/_core/vendor/symfony/polyfill-ctype/README.md +12 -12
- package/src/backend/_core/vendor/symfony/polyfill-ctype/bootstrap.php +50 -50
- package/src/backend/_core/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -46
- package/src/backend/_core/vendor/symfony/polyfill-ctype/composer.json +38 -38
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/LICENSE +19 -19
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -1077
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/README.md +13 -13
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -119
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -1397
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -5
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -1489
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -171
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -167
- package/src/backend/_core/vendor/symfony/polyfill-mbstring/composer.json +39 -39
- package/src/backend/_core/vendor/symfony/polyfill-php80/LICENSE +19 -19
- package/src/backend/_core/vendor/symfony/polyfill-php80/Php80.php +115 -115
- package/src/backend/_core/vendor/symfony/polyfill-php80/PhpToken.php +106 -106
- package/src/backend/_core/vendor/symfony/polyfill-php80/README.md +25 -25
- package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -31
- package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -16
- package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -20
- package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -16
- package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -16
- package/src/backend/_core/vendor/symfony/polyfill-php80/bootstrap.php +42 -42
- package/src/backend/_core/vendor/symfony/polyfill-php80/composer.json +37 -37
- package/src/backend/_core/vendor/vlucas/phpdotenv/.editorconfig +15 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/.gitattributes +15 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +132 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +30 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/.github/FUNDING.yml +2 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/.github/SECURITY.md +14 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/.github/workflows/static.yml +40 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +70 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/LICENSE +30 -30
- package/src/backend/_core/vendor/vlucas/phpdotenv/Makefile +17 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/README.md +370 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/composer.json +60 -60
- package/src/backend/_core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +157 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -267
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -12
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -12
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -12
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -12
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -12
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -48
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -20
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -65
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -59
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -299
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -58
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -127
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -53
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -19
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -88
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -15
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -89
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -80
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -88
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -85
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -110
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -48
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -64
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -91
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -17
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -104
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -88
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -27
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -107
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -272
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -51
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -44
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -81
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -72
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -141
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -17
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -37
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -112
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -108
- package/src/backend/_core/vendor/vlucas/phpdotenv/src/Validator.php +207 -207
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
- package/src/backend/_core/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +15 -0
- package/src/backend/config.php +19 -0
- package/src/frontend/data/site.json +43 -43
|
@@ -1,48 +1,48 @@
|
|
|
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
|
+
<?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 +1,20 @@
|
|
|
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
|
+
<?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 +1,65 @@
|
|
|
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
|
+
<?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 +1,59 @@
|
|
|
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
|
-
}
|
|
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
|
+
}
|