tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

XPathQueryHandler.ts (700B)


      1 /**
      2 * @license
      3 * Copyright 2023 Google Inc.
      4 * SPDX-License-Identifier: Apache-2.0
      5 */
      6 
      7 import {
      8  QueryHandler,
      9  type QuerySelectorAll,
     10  type QuerySelector,
     11 } from './QueryHandler.js';
     12 
     13 /**
     14 * @internal
     15 */
     16 export class XPathQueryHandler extends QueryHandler {
     17  static override querySelectorAll: QuerySelectorAll = (
     18    element,
     19    selector,
     20    {xpathQuerySelectorAll},
     21  ) => {
     22    return xpathQuerySelectorAll(element, selector);
     23  };
     24 
     25  static override querySelector: QuerySelector = (
     26    element: Node,
     27    selector: string,
     28    {xpathQuerySelectorAll},
     29  ) => {
     30    for (const result of xpathQuerySelectorAll(element, selector, 1)) {
     31      return result;
     32    }
     33    return null;
     34  };
     35 }