Files
wp-multisite-waas/dependencies/league/uri-interfaces/Idna/Result.php
2024-11-30 18:24:12 -07:00

58 lines
1.4 KiB
PHP

<?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 WP_Ultimo\Dependencies\League\Uri\Idna;
/**
* @see https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/uidna_8h.html
*/
final class Result
{
private function __construct(
private readonly string $domain,
private readonly bool $isTransitionalDifferent,
/** @var array<Error> */
private readonly array $errors
)
{
}
/**
* @param array{result:string, isTransitionalDifferent:bool, errors:int} $infos
*/
public static function fromIntl(array $infos) : self
{
return new self($infos['result'], $infos['isTransitionalDifferent'], Error::filterByErrorBytes($infos['errors']));
}
public function domain() : string
{
return $this->domain;
}
public function isTransitionalDifferent() : bool
{
return $this->isTransitionalDifferent;
}
/**
* @return array<Error>
*/
public function errors() : array
{
return $this->errors;
}
public function hasErrors() : bool
{
return [] !== $this->errors;
}
public function hasError(Error $error) : bool
{
return \in_array($error, $this->errors, \true);
}
}