FluentDOM\Nodes::getSelectorCallback PHP Метод

getSelectorCallback() публичный Метод

Returns a callback that can be used to validate if an node matches the selector.
public getSelectorCallback ( null | callable | string | array | DOMNode | Traversable $selector ) : callable | null
$selector null | callable | string | array | DOMNode | Traversable
Результат callable | null
    public function getSelectorCallback($selector)
    {
        if (NULL === $selector || Constraints::isCallable($selector)) {
            return $selector;
        } elseif ($selector instanceof \DOMNode) {
            return function (\DOMNode $node) use($selector) {
                return $node->isSameNode($selector);
            };
        } elseif (is_string($selector) && $selector !== '') {
            return function (\DOMNode $node) use($selector) {
                return $this->matches($selector, $node);
            };
        } elseif ($selector instanceof \Traversable || is_array($selector)) {
            return function (\DOMNode $node) use($selector) {
                foreach ($selector as $compareWith) {
                    if ($compareWith instanceof \DOMNode && $node->isSameNode($compareWith)) {
                        return TRUE;
                    }
                }
                return FALSE;
            };
        }
        throw new \InvalidArgumentException('Invalid selector argument.');
    }