aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/league/uri/UriTemplate/TemplateCanNotBeExpanded.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/league/uri/UriTemplate/TemplateCanNotBeExpanded.php')
-rw-r--r--vendor/league/uri/UriTemplate/TemplateCanNotBeExpanded.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/league/uri/UriTemplate/TemplateCanNotBeExpanded.php b/vendor/league/uri/UriTemplate/TemplateCanNotBeExpanded.php
new file mode 100644
index 000000000..70e1601d1
--- /dev/null
+++ b/vendor/league/uri/UriTemplate/TemplateCanNotBeExpanded.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * League.Uri (https://uri.thephpleague.com)
+ *
+ * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
+ *
+ * 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 InvalidArgumentException;
+use League\Uri\Contracts\UriException;
+
+class TemplateCanNotBeExpanded extends InvalidArgumentException implements UriException
+{
+ public readonly array $variablesNames;
+
+ public function __construct(string $message = '', string ...$variableNames)
+ {
+ parent::__construct($message, 0, null);
+
+ $this->variablesNames = $variableNames;
+ }
+
+ public static function dueToUnableToProcessValueListWithPrefix(string $variableName): self
+ {
+ return new self('The ":" modifier cannot be applied on "'.$variableName.'" since it is a list of values.', $variableName);
+ }
+
+ public static function dueToNestedListOfValue(string $variableName): self
+ {
+ return new self('The "'.$variableName.'" cannot be a nested list.', $variableName);
+ }
+
+ public static function dueToMissingVariables(string ...$variableNames): self
+ {
+ return new self('The following required variables are missing: `'.implode('`, `', $variableNames).'`.', ...$variableNames);
+ }
+}