extractSmartSelectors function exported
Last updated: 2026-03-05T12:26:14.062Z
Metrics
LOC: 29
Complexity: 5
Params: 1
Signature
extractSmartSelectors(el: Element): : SmartSelector[]
Summary
Extracts smart selectors for an element, ordered by priority. Returns at least one selector (CSS fallback is always present).
Source Code
export function extractSmartSelectors(el: Element): SmartSelector[] {
const strategies: Array<(el: Element) => SmartSelector | null> = [
tryDataTestId,
tryAriaLabel,
tryRole,
tryName,
tryId,
tryClasses,
tryPlaceholder,
];
const selectors: SmartSelector[] = [];
const seen = new Set<string>();
for (const strategy of strategies) {
const result = strategy(el);
if (result && !seen.has(result.value)) {
seen.add(result.value);
selectors.push(result);
}
}
const fallback = buildFallbackCSS(el);
if (!seen.has(fallback.value)) {
selectors.push(fallback);
}
return selectors;
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| buildFallbackCSS | calls |
Impact (Incoming)
| Source | Type |
|---|---|
| resolveActionType | uses |
| buildCapturedActions | calls |
| detectSubmitActions | calls |
| StepCallback | uses |
| safeExtractSelectors | calls |
| createElement | uses |