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)

graph LR buildField["buildField"] findOriginalSelect["findOriginalSelect"] extractOptions["extractOptions"] extractPlaceholder["extractPlaceholder"] buildField -->|calls| findOriginalSelect buildField -->|calls| extractOptions buildField -->|calls| extractPlaceholder style buildField fill:#dbeafe,stroke:#2563eb,stroke-width:2px click buildField "d0b8742a59271171.html" click findOriginalSelect "d2ff8f5026045248.html" click extractOptions "5f2b8a2ce99a7450.html" click extractPlaceholder "bcb740be6acbc882.html"

Impact (Incoming)

graph LR buildField["buildField"] makeSendMessage["makeSendMessage"] makeSendMessage -->|calls| buildField buildField -->|calls| buildField style buildField fill:#dbeafe,stroke:#2563eb,stroke-width:2px click buildField "d0b8742a59271171.html" click makeSendMessage "93db8b24f480f034.html"
SourceType
makeSendMessage calls
buildField calls