findMatchingRule function

Last updated: 2026-03-04T23:21:38.413Z

Metrics

LOC: 22 Complexity: 6 Params: 3

Signature

findMatchingRule( rules: FieldRule[], field: FormField, ): : FieldRule | undefined

Source Code

function findMatchingRule(
  rules: FieldRule[],
  field: FormField,
): FieldRule | undefined {
  // Sort by priority (descending) so higher priority rules take precedence
  const sorted = [...rules].sort((a, b) => b.priority - a.priority);

  return sorted.find((rule) => {
    // Match by CSS selector
    if (rule.fieldSelector && field.element.matches(rule.fieldSelector)) {
      return true;
    }
    // Match by field name
    if (
      rule.fieldName &&
      (field.name === rule.fieldName || field.id === rule.fieldName)
    ) {
      return true;
    }
    return false;
  });
}

No outgoing dependencies.

Impact (Incoming)

graph LR findMatchingRule["findMatchingRule"] resolveFieldValue["resolveFieldValue"] resolveFieldValue -->|calls| findMatchingRule style findMatchingRule fill:#dbeafe,stroke:#2563eb,stroke-width:2px click findMatchingRule "9456e727716b3217.html" click resolveFieldValue "b0ea06e6c355d586.html"
SourceType
resolveFieldValue calls