clearDependencies method

  1. @override
void clearDependencies()

Clears all existing registered dependencies and unsubscribes from them.

Implementation

@override
void clearDependencies() {
  final dependencies = List<Node>.of(_dependencies);
  _dependencies.clear();
  Object? firstError;
  StackTrace? firstStackTrace;
  for (final dependency in dependencies) {
    try {
      dependency.removeObserver(this);
    } catch (error, stackTrace) {
      firstError ??= error;
      firstStackTrace ??= stackTrace;
    }
  }
  if (firstError != null) {
    Error.throwWithStackTrace(firstError, firstStackTrace!);
  }
}