Package to help disposing Streams and Sinks.
Instantiate a disposable with
var disposable = StreamDisposable()
Add StreamSubscriptions or Sinks to it by calling add
var streamToDispose = Stream.fromIterable([1, 2, 3]);
disposable.add(streamToDispose.listen(print))
In the Stateful's Widget dispose
method or equivalent, we can call
disposable.dispose(className: this.runtimeType.toString())
To safely dispose every subscription.
-
void add
Adds a Sink or a StreamSusbcription to the disposable. Throws anError
if another type of object is added or if the disposable has already been disposed. -
Future<void> didDispose
Future
that completes when theStreamDisposable
is disposed. -
bool isDisposed
Boolean value to check if the disposable has been disposed. -
Future<void> dispose
Dispose the current Sink and StreamSusbcription that were addded to this instance. Throws an error if adispose
action is in process or if the disposable has been disposed already.