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 }