Rocky_Mountain_Vending/.pnpm-store/v10/files/ac/de3653fe506f739fbff0cb1171a1ca7c2870887ea21d0248669eb84b52eda9b732cadb2e79a271a8e1fa35b18b4eb88961a14744fa4be6979274d58ffa5a01
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

70 lines
No EOL
2.5 KiB
Text

/**
* @license
* Copyright 2023 Google Inc.
* SPDX-License-Identifier: Apache-2.0
*/
import { ARIAQueryHandler } from './AriaQueryHandler.js';
import { CSSQueryHandler } from './CSSQueryHandler.js';
import { customQueryHandlers } from './CustomQueryHandler.js';
import { PierceQueryHandler } from './PierceQueryHandler.js';
import { PQueryHandler } from './PQueryHandler.js';
import { parsePSelectors } from './PSelectorParser.js';
import { TextQueryHandler } from './TextQueryHandler.js';
import { XPathQueryHandler } from './XPathQueryHandler.js';
const BUILTIN_QUERY_HANDLERS = {
aria: ARIAQueryHandler,
pierce: PierceQueryHandler,
xpath: XPathQueryHandler,
text: TextQueryHandler,
};
const QUERY_SEPARATORS = ['=', '/'];
/**
* @internal
*/
export function getQueryHandlerAndSelector(selector) {
for (const handlerMap of [
customQueryHandlers.names().map(name => {
return [name, customQueryHandlers.get(name)];
}),
Object.entries(BUILTIN_QUERY_HANDLERS),
]) {
for (const [name, QueryHandler] of handlerMap) {
for (const separator of QUERY_SEPARATORS) {
const prefix = `${name}${separator}`;
if (selector.startsWith(prefix)) {
selector = selector.slice(prefix.length);
return {
updatedSelector: selector,
polling: name === 'aria' ? "raf" /* PollingOptions.RAF */ : "mutation" /* PollingOptions.MUTATION */,
QueryHandler,
};
}
}
}
}
try {
const [pSelector, isPureCSS, hasPseudoClasses, hasAria] = parsePSelectors(selector);
if (isPureCSS) {
return {
updatedSelector: selector,
polling: hasPseudoClasses
? "raf" /* PollingOptions.RAF */
: "mutation" /* PollingOptions.MUTATION */,
QueryHandler: CSSQueryHandler,
};
}
return {
updatedSelector: JSON.stringify(pSelector),
polling: hasAria ? "raf" /* PollingOptions.RAF */ : "mutation" /* PollingOptions.MUTATION */,
QueryHandler: PQueryHandler,
};
}
catch {
return {
updatedSelector: selector,
polling: "mutation" /* PollingOptions.MUTATION */,
QueryHandler: CSSQueryHandler,
};
}
}
//# sourceMappingURL=GetQueryHandler.js.map