runEffect method

void runEffect()

Run the effect if needed based on dependency changes

Implementation

void runEffect() {
  // Run effect if first time or dependencies changed
  if (_prevDeps == null || !_areEqualDeps(_dependencies, _prevDeps!)) {
    // Clean up previous effect if needed
    if (_cleanup != null) {
      _cleanup!();
      _cleanup = null;
    }

    // Run the effect and store cleanup
    _cleanup = _effect();

    // Update previous dependencies
    _prevDeps = List<dynamic>.from(_dependencies);
  }
}