magicFormEnricher function

String? magicFormEnricher(
  1. Element element,
  2. RefRegistry refs
)

Enricher: emits magicFormField: <name> when element is backed by a TextEditingController owned by a MagicFormData in an ancestor MagicForm.

Steps:

  1. Walk descendants for an EditableText and capture its controller.
  2. Walk ancestors for a MagicForm and read its MagicFormData.
  3. Linear-scan MagicFormData.fieldNames for a text controller whose identity matches the captured controller; emit magicFormField: $name.

Returns null when any step fails (no EditableText, no MagicForm ancestor, no matching field). Never throws, never retains element.

Implementation

String? magicFormEnricher(Element element, RefRegistry refs) {
  // 1. Find the EditableText controller this element backs (or descends to).
  final TextEditingController? controller = _findEditableController(element);
  if (controller == null) return null;

  // 2. Walk ancestors for the nearest MagicForm.
  final MagicFormData? formData = _findAncestorFormData(element);
  if (formData == null) return null;

  // 3. Identity-compare against each text field's controller.
  for (final String name in formData.fieldNames) {
    final TextEditingController fieldController = _tryReadText(formData, name);
    if (identical(fieldController, controller)) {
      return 'magicFormField: $name';
    }
  }

  return null;
}