value() ?? 'NULL').'"` is invalid.'); } return new self('The suffix `"'.($publicSuffix->value() ?? 'NULL').'"` is an invalid `'.$type.'` suffix.'); } public static function dueToUnsupportedType(string $domain): self { return new self('The domain `'.$domain.'` is invalid: this is an IPv4 host.'); } public static function dueToInvalidLabelKey(Host $domain, int $key): self { return new self('the given key `'.$key.'` is invalid for the domain `'.($domain->value() ?? 'NULL').'`.'); } public function idnaInfo(): ?IdnaInfo { return $this->idnaInfo; } }