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

IdentifierHandler{}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

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

Methods

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

IdentifierHandler{} code WC 10.7.0

class IdentifierHandler 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->getIdentifierPattern());

        if (!$match) {
            return false;
        }

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

        return true;
    }
}