%PDF- %PDF-
Direktori : /home/graphicd/public_html/vebto/vendor/kreait/firebase-php/src/Firebase/ |
Current File : /home/graphicd/public_html/vebto/vendor/kreait/firebase-php/src/Firebase/DynamicLink.php |
<?php declare(strict_types=1); namespace Kreait\Firebase; use GuzzleHttp\Psr7\Utils; use JsonSerializable; use Kreait\Firebase\Util\JSON; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\UriInterface; final class DynamicLink implements JsonSerializable { /** @var array<string, mixed> */ private $data = []; private function __construct() { } /** * @internal */ public static function fromApiResponse(ResponseInterface $response): self { $link = new self(); $link->data = JSON::decode((string) $response->getBody(), true); return $link; } public function uri(): UriInterface { return Utils::uriFor($this->data['shortLink']); } public function previewUri(): UriInterface { return Utils::uriFor($this->data['previewLink']); } public function domain(): string { return $this->uri()->getScheme().'://'.$this->uri()->getHost(); } public function suffix(): string { return \trim($this->uri()->getPath(), '/'); } /** * @return string[] */ public function warnings(): array { return $this->data['warning'] ?? []; } public function hasWarnings(): bool { return !empty($this->warnings()); } /** * @return array<string, mixed> */ public function jsonSerialize(): array { return $this->data; } public function __toString(): string { return (string) $this->uri(); } }