shallowPropagate method

void shallowPropagate(
  1. Link theLink
)

Shallow propagates changes without deep recursion.

Parameters:

  • theLink: The link to start shallow propagation from

Implementation

void shallowPropagate(Link theLink) {
  Link? link = theLink;
  do {
    final sub = link!.sub;
    final flags = sub.flags;
    if (flags & 48 /** ReactiveFlags.pending | ReactiveFlags.dirty */ ==
        32 /** ReactiveFlags.pending */) {
      sub.flags = flags | 16 /* ReactiveFlags.dirty */;
      if (flags & 2 /** ReactiveFlags.watching */ != 0) {
        notify(sub);
      }
    }
  } while ((link = link.nextSub) != null);
}