From 0226e0ca0dc70f9a0310b3eef045ee1c1e0ca3ac Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 13 Dec 2022 20:00:46 +0300 Subject: split into a separate repo --- .../src/Contracts/UriComponentInterface.php | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 vendor/league/uri-interfaces/src/Contracts/UriComponentInterface.php (limited to 'vendor/league/uri-interfaces/src/Contracts/UriComponentInterface.php') diff --git a/vendor/league/uri-interfaces/src/Contracts/UriComponentInterface.php b/vendor/league/uri-interfaces/src/Contracts/UriComponentInterface.php new file mode 100644 index 0000000..c7b39bb --- /dev/null +++ b/vendor/league/uri-interfaces/src/Contracts/UriComponentInterface.php @@ -0,0 +1,88 @@ + + * + * 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\Contracts; + +use League\Uri\Exceptions\IdnSupportMissing; +use League\Uri\Exceptions\SyntaxError; + +interface UriComponentInterface extends \JsonSerializable +{ + /** + * Returns the instance content. + * + * If the instance is defined, the value returned MUST be encoded according to the + * selected encoding algorithm. In any case, the value MUST NOT double-encode any character + * depending on the selected encoding algorithm. + * + * To determine what characters to encode, please refer to RFC 3986, Sections 2 and 3. + * or RFC 3987 Section 3. By default the content is encoded according to RFC3986 + * + * If the instance is not defined null is returned + */ + public function getContent(): ?string; + + /** + * Returns the instance string representation. + * + * If the instance is defined, the value returned MUST be percent-encoded, + * but MUST NOT double-encode any characters. To determine what characters + * to encode, please refer to RFC 3986, Sections 2 and 3. + * + * If the instance is not defined an empty string is returned + */ + public function __toString(): string; + + /** + * Returns the instance json representation. + * + * If the instance is defined, the value returned MUST be percent-encoded, + * but MUST NOT double-encode any characters. To determine what characters + * to encode, please refer to RFC 3986 or RFC 1738. + * + * If the instance is not defined null is returned + */ + public function jsonSerialize(): ?string; + + /** + * Returns the instance string representation with its optional URI delimiters. + * + * The value returned MUST be percent-encoded, but MUST NOT double-encode any + * characters. To determine what characters to encode, please refer to RFC 3986, + * Sections 2 and 3. + * + * If the instance is not defined an empty string is returned + */ + public function getUriComponent(): string; + + /** + * Returns an instance with the specified content. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified content. + * + * Users can provide both encoded and decoded content characters. + * + * A null value is equivalent to removing the component content. + * + * + * @param ?string $content + * + * @throws SyntaxError for invalid component or transformations + * that would result in a object in invalid state. + * @throws IdnSupportMissing for component or transformations + * requiring IDN support when IDN support is not present + * or misconfigured. + */ + public function withContent(?string $content): self; +} -- cgit v1.2.3