getContextHtml function ✓ 85.7%
Last updated: 2026-03-01T23:25:47.102Z
Metrics
LOC: 21
Complexity: 8
Params: 1
Coverage: 85.7% (6/7 lines, 12x executed)
Signature
getContextHtml(el: HTMLElement): : string | null
Summary
Extracts the relevant surrounding container HTML for a field element. Walks up the DOM looking for a wrapping label, fieldset or common form-group patterns. Returns null when none is found.
Source Code
function getContextHtml(el: HTMLElement): string | null {
const container =
el.closest<HTMLElement>(
'label, fieldset, [class*="field"], [class*="group"], [class*="form-"], [class*="input-wrap"]',
) ?? el.parentElement;
if (!container || container === el) return null;
// Avoid returning the entire <form> or <body>
if (
container.tagName === "FORM" ||
container.tagName === "BODY" ||
container.tagName === "MAIN"
) {
return null;
}
const raw = container.outerHTML;
if (raw.length <= MAX_CONTEXT_HTML_CHARS) return raw;
return raw.slice(0, MAX_CONTEXT_HTML_CHARS) + "…";
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| FormField | uses |
| FieldClassifier | uses |
| ClassifierResult | uses |
| storeLearnedEntry | uses |
| invalidateClassifier | uses |
| addDatasetEntry | uses |
| classifyFieldViaProxy | uses |
| createLogger | uses |
| FieldClassifierInput | uses |
Impact (Incoming)
| Source | Type |
|---|---|
| buildClassifierInput | calls |