* SPDX-License-Identifier: MIT */ declare(strict_types=1); namespace Respect\Validation\Rules; use Respect\Validation\Helpers\DomainInfo; use function array_pop; use function explode; final class PublicDomainSuffix extends AbstractSearcher { /** * @var string[] */ private $domainInfo; /** * {@inheritDoc} */ protected function getDataSource($input = null): array { $parts = explode('.', $input); $tld = array_pop($parts); $domainInfo = new DomainInfo($tld); $this->domainInfo = $domainInfo->getPublicSuffixes(); return $this->domainInfo; } }