structuredSignalsFromField function exported ✓ 83.3%

Last updated: 2026-02-24T21:07:57.585Z

Metrics

LOC: 48 Complexity: 15 Params: 1 Coverage: 83.3% (5/6 lines, 6x executed)

Signature

structuredSignalsFromField(field: Partial<FormField>): : { signals: StructuredSignals; context: StructuredSignalContext; }

Summary

Extracts {@link StructuredSignals} and {@link StructuredSignalContext} from a partial FormField object.

Architecture violations

View all

  • [warning] max-cyclomatic-complexity: 'structuredSignalsFromField' has cyclomatic complexity 15 (max 10)

Source Code

export function structuredSignalsFromField(field: Partial<FormField>): {
  signals: StructuredSignals;
  context: StructuredSignalContext;
} {
  const signals: StructuredSignals = {
    primary: [
      field.label ?? "",
      field.name ?? "",
      field.id ?? "",
      field.placeholder ?? "",
      field.contextSignals ?? "",
    ],
    secondary: [field.autocomplete ?? ""],
    structural: [
      field.inputType ?? "",
      field.required ? "required" : "",
      field.pattern ?? "",
      typeof field.maxLength === "number" ? `maxlength_${field.maxLength}` : "",
    ],
  };

  const normalizedPrimary = normalizeAndDedupe(signals.primary);
  if (normalizedPrimary.length === 0 && field.contextSignals) {
    normalizedPrimary.push(normalizeToken(field.contextSignals));
  }

  const normalizedSignals: StructuredSignals = {
    primary: normalizedPrimary,
    secondary: normalizeAndDedupe(signals.secondary),
    structural: normalizeAndDedupe(signals.structural),
  };

  return {
    signals: normalizedSignals,
    context: {
      category: field.category,
      language:
        field.languageDetected && field.languageDetected !== "unknown"
          ? field.languageDetected
          : undefined,
      domFeatures: {
        inputType: field.inputType,
        maxLength: field.maxLength,
        pattern: field.pattern,
      },
    },
  };
}

Dependencies (Outgoing)

graph LR structuredSignalsFromField["structuredSignalsFromField"] normalizeAndDedupe["normalizeAndDedupe"] normalizeToken["normalizeToken"] structuredSignalsFromField -->|calls| normalizeAndDedupe structuredSignalsFromField -->|calls| normalizeToken style structuredSignalsFromField fill:#dbeafe,stroke:#2563eb,stroke-width:2px click structuredSignalsFromField "ab699edf98df2b23.html" click normalizeAndDedupe "1c7d0c2fccdeffca.html" click normalizeToken "acab84a19ef8c65c.html"
TargetType
normalizeAndDedupe calls
normalizeToken calls

Impact (Incoming)

graph LR structuredSignalsFromField["structuredSignalsFromField"] PretrainedState["PretrainedState"] resetModelMock["resetModelMock"] PretrainedState -->|uses| structuredSignalsFromField resetModelMock -->|uses| structuredSignalsFromField style structuredSignalsFromField fill:#dbeafe,stroke:#2563eb,stroke-width:2px click structuredSignalsFromField "ab699edf98df2b23.html" click PretrainedState "5cefc72e50bf5399.html" click resetModelMock "4ef72c19f1c89871.html"
SourceType
PretrainedState uses
resetModelMock uses