Source code

Revision control

Copy as Markdown

Other Tools

/**
* @license
* Copyright 2023 Google Inc.
* SPDX-License-Identifier: Apache-2.0
*/
import {
QueryHandler,
type QuerySelectorAll,
type QuerySelector,
} from './QueryHandler.js';
/**
* @internal
*/
export class XPathQueryHandler extends QueryHandler {
static override querySelectorAll: QuerySelectorAll = (
element,
selector,
{xpathQuerySelectorAll}
) => {
return xpathQuerySelectorAll(element, selector);
};
static override querySelector: QuerySelector = (
element: Node,
selector: string,
{xpathQuerySelectorAll}
) => {
for (const result of xpathQuerySelectorAll(element, selector, 1)) {
return result;
}
return null;
};
}