summaryrefslogtreecommitdiff
path: root/plugins/af_readability/vendor/league/uri/src/UriTemplate/VariableBag.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/af_readability/vendor/league/uri/src/UriTemplate/VariableBag.php')
-rw-r--r--plugins/af_readability/vendor/league/uri/src/UriTemplate/VariableBag.php114
1 files changed, 0 insertions, 114 deletions
diff --git a/plugins/af_readability/vendor/league/uri/src/UriTemplate/VariableBag.php b/plugins/af_readability/vendor/league/uri/src/UriTemplate/VariableBag.php
deleted file mode 100644
index cf60de91e..000000000
--- a/plugins/af_readability/vendor/league/uri/src/UriTemplate/VariableBag.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/**
- * League.Uri (https://uri.thephpleague.com)
- *
- * (c) Ignace Nyamagana Butera <[email protected]>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-declare(strict_types=1);
-
-namespace League\Uri\UriTemplate;
-
-use League\Uri\Exceptions\TemplateCanNotBeExpanded;
-use TypeError;
-use function gettype;
-use function is_array;
-use function is_bool;
-use function is_object;
-use function is_scalar;
-use function method_exists;
-use function sprintf;
-
-final class VariableBag
-{
- /**
- * @var array<string,string|array<string>>
- */
- private array $variables = [];
-
- /**
- * @param iterable<string,string|bool|int|float|array<string|bool|int|float>> $variables
- */
- public function __construct(iterable $variables = [])
- {
- foreach ($variables as $name => $value) {
- $this->assign($name, $value);
- }
- }
-
- public static function __set_state(array $properties): self
- {
- return new self($properties['variables']);
- }
-
- /**
- * @return array<string,string|array<string>>
- */
- public function all(): array
- {
- return $this->variables;
- }
-
- /**
- * Fetches the variable value if none found returns null.
- *
- * @return null|string|array<string>
- */
- public function fetch(string $name)
- {
- return $this->variables[$name] ?? null;
- }
-
- /**
- * @param string|bool|int|float|array<string|bool|int|float> $value
- */
- public function assign(string $name, $value): void
- {
- $this->variables[$name] = $this->normalizeValue($value, $name, true);
- }
-
- /**
- * @param mixed $value the value to be expanded
- *
- * @throws TemplateCanNotBeExpanded if the value contains nested list
- *
- * @return string|array<string>
- */
- private function normalizeValue($value, string $name, bool $isNestedListAllowed)
- {
- if (is_bool($value)) {
- return true === $value ? '1' : '0';
- }
-
- if (null === $value || is_scalar($value) || (is_object($value) && method_exists($value, '__toString'))) {
- return (string) $value;
- }
-
- if (!is_array($value)) {
- throw new TypeError(sprintf('The variable '.$name.' must be NULL, a scalar or a stringable object `%s` given', gettype($value)));
- }
-
- if (!$isNestedListAllowed) {
- throw TemplateCanNotBeExpanded::dueToNestedListOfValue($name);
- }
-
- foreach ($value as &$var) {
- $var = self::normalizeValue($var, $name, false);
- }
- unset($var);
-
- return $value;
- }
-
- /**
- * Replaces elements from passed variables into the current instance.
- */
- public function replace(VariableBag $variables): self
- {
- return new self($this->variables + $variables->variables);
- }
-}