Automattic\WooCommerce\Vendor\Symfony\Component\CssSelector\Node

SelectorNode{}WC 1.0└─ AbstractNode

Represents a "<selector>(::|:)<pseudoElement>" node.

This component is a port of the Python cssselect library, which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.

No Hooks.

Usage

$SelectorNode = new SelectorNode();
// use class methods

Methods

  1. public __construct(NodeInterface $tree, ?string $pseudoElement = null)
  2. public __toString()
  3. public getPseudoElement()
  4. public getSpecificity()
  5. public getTree()

SelectorNode{} code WC 10.5.0

class SelectorNode extends AbstractNode
{
    private $tree;
    private $pseudoElement;

    public function __construct(NodeInterface $tree, ?string $pseudoElement = null)
    {
        $this->tree = $tree;
        $this->pseudoElement = $pseudoElement ? strtolower($pseudoElement) : null;
    }

    public function getTree(): NodeInterface
    {
        return $this->tree;
    }

    public function getPseudoElement(): ?string
    {
        return $this->pseudoElement;
    }

    /**
     * {@inheritdoc}
     */
    public function getSpecificity(): Specificity
    {
        return $this->tree->getSpecificity()->plus(new Specificity(0, 0, $this->pseudoElement ? 1 : 0));
    }

    public function __toString(): string
    {
        return sprintf('%s[%s%s]', $this->getNodeName(), $this->tree, $this->pseudoElement ? '::'.$this->pseudoElement : '');
    }
}