addAll method

  1. @override
Future<void> addAll(
  1. Iterable<Object> disposables
)
override

Atomically adds the given iterable of Disposables to this bag or disposes them all if this bag has been disposed or is disposing.

disposables must be an Iterable of StreamSubscriptions or a Sinks.

Implementation

@override
Future<void> addAll(Iterable<Object> disposables) async {
  disposables = _evaluateIterable(disposables);
  if (disposables.isEmpty) {
    return;
  }
  _guardTypeMany(disposables);

  final resources = _validResourcesOrNull();
  if (resources == null) {
    await _disposeByType<StreamSubscription>(disposables);
    return _disposeByType<Sink>(disposables);
  }
  resources.addAll(disposables);
}