From 110dc2831488937c1afb70c11657a341912fc8cd Mon Sep 17 00:00:00 2001 From: Peter Nguyen Date: Wed, 5 Feb 2025 00:44:12 -0600 Subject: Initial commit 2/25/2025 --- vendor/vlucas/phpdotenv/src/Loader/Resolver.php | 65 +++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 vendor/vlucas/phpdotenv/src/Loader/Resolver.php (limited to 'vendor/vlucas/phpdotenv/src/Loader/Resolver.php') diff --git a/vendor/vlucas/phpdotenv/src/Loader/Resolver.php b/vendor/vlucas/phpdotenv/src/Loader/Resolver.php new file mode 100644 index 0000000..36d7a4b --- /dev/null +++ b/vendor/vlucas/phpdotenv/src/Loader/Resolver.php @@ -0,0 +1,65 @@ +getVars(), static function (string $s, int $i) use ($repository) { + return Str::substr($s, 0, $i).self::resolveVariable($repository, Str::substr($s, $i)); + }, $value->getChars()); + } + + /** + * Resolve a single nested variable. + * + * @param \Dotenv\Repository\RepositoryInterface $repository + * @param string $str + * + * @return string + */ + private static function resolveVariable(RepositoryInterface $repository, string $str) + { + return Regex::replaceCallback( + '/\A\${([a-zA-Z0-9_.]+)}/', + static function (array $matches) use ($repository) { + return Option::fromValue($repository->get($matches[1])) + ->getOrElse($matches[0]); + }, + $str, + 1 + )->success()->getOrElse($str); + } +} -- cgit v1.2.3