Automattic\WooCommerce\Vendor\Symfony\Component\CssSelector\Parser\Handler

HashHandler{}WC 1.0└─ HandlerInterface

CSS selector comment handler.

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

No Hooks.

Usage

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

Methods

  1. public __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping)
  2. public handle(Reader $reader, TokenStream $stream)

HashHandler{} code WC 10.4.3

class HashHandler implements HandlerInterface
{
    private $patterns;
    private $escaping;

    public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping)
    {
        $this->patterns = $patterns;
        $this->escaping = $escaping;
    }

    /**
     * {@inheritdoc}
     */
    public function handle(Reader $reader, TokenStream $stream): bool
    {
        $match = $reader->findPattern($this->patterns->getHashPattern());

        if (!$match) {
            return false;
        }

        $value = $this->escaping->escapeUnicode($match[1]);
        $stream->push(new Token(Token::TYPE_HASH, $value, $reader->getPosition()));
        $reader->moveForward(\strlen($match[0]));

        return true;
    }
}