buildField method presentation ✓ 100.0%
Last updated: 2026-02-24T19:46:21.768Z
Metrics
LOC: 31
Complexity: 6
Params: 1
Coverage: 100.0% (8/8 lines, 8x executed)
Signature
buildField(wrapper: HTMLElement): : FormField
Source Code
buildField(wrapper: HTMLElement): FormField {
// Find the original <select> element linked to this container
const hiddenSelect = findOriginalSelect(wrapper);
// Extract options from the original <select> or from the dropdown DOM
const options = extractOptions(hiddenSelect);
// Extract label
const labelTarget = hiddenSelect ?? wrapper;
const labelResult = findLabelWithStrategy(labelTarget);
// Extract placeholder
const placeholder = extractPlaceholder(wrapper);
const field: FormField = {
element: wrapper,
selector: getUniqueSelector(wrapper),
category: "unknown",
fieldType: "select",
adapterName: "select2",
label: labelResult?.text,
name: hiddenSelect?.name || undefined,
id: hiddenSelect?.id || wrapper.id || undefined,
placeholder,
required: hiddenSelect?.required ?? false,
options,
};
field.contextSignals = buildSignals(field);
return field;
},
Dependencies (Outgoing)
| Target | Type |
|---|---|
| findOriginalSelect | calls |
| extractOptions | calls |
| extractPlaceholder | calls |
Impact (Incoming)
| Source | Type |
|---|---|
| makeSendMessage | calls |
| buildField | calls |