disposebag library
Helper disposing Streams and closing Sinks
Author: Petrus Nguyễn Thái Học
Usage example
final controller = StreamController<int>();
final bag = DisposeBag([
controller,
controller.stream.listen(controller1.add)
]);
// Dispose all stream subscriptions, close all stream controllers
await bag.dispose();
print("Bag disposed. It's all good");
Classes
- DisposeBag
- Class that helps closing sinks and canceling stream subscriptions
- DisposeBagBase
- DisposeBag base interface.
- DisposeBagConfigs
- Global configs for dispose bag.
Enums
- BagResult
- Represents the result of disposing or clearing.
Extensions
-
SinkDisposedByExtension
on Sink<
T> - disposedBy extension method for Sink
-
SinkIterableDisposedByExtension
on Iterable<
Sink< T> > - disposedBy extension method for Iterable of Sinks
-
StreamSubscriptionDisposedByExtension
on StreamSubscription<
T> - disposedBy extension method for StreamSubscription
-
StreamSubscriptionIterableDisposedByExtension
on Iterable<
StreamSubscription< T> > - disposedBy extension method for Iterable of StreamSubscriptions
Properties
- disposeBagDefaultLogger → Logger
-
Default
DisposeBag
loggerfinal
Typedefs
- Logger = void Function(DisposeBag bag, BagResult result, Set resources, [Object? error, StackTrace? stackTrace])
- Logs the result of disposing or clearing. By default, prints the result to the console.
Exceptions / Errors
- ClearingException
- Bag is clearing.
- DisposedException
- Bag was disposed.