dispose method

void dispose()

Tears down the orchestrator, releasing observers, removing event listeners, and disposing all hydrated island subtrees.

orchestrator.dispose();

Implementation

void dispose() {
  if (_disposed) return;
  _disposed = true;

  for (final observer in _intersectionObservers.values) {
    try {
      observer.disconnect();
    } catch (_) {}
  }
  _intersectionObservers.clear();

  for (final island in _islands) {
    island.dispose();
  }
  _islands.clear();

  for (final disposer in _globalDisposers) {
    try {
      disposer();
    } catch (_) {}
  }
  _globalDisposers.clear();
}