disposables 1.0.0 disposables: ^1.0.0 copied to clipboard
Simple library to manage objects needing to release its own resources.
Simple library to manage objects needing to release its own resources.
Disposable #
final sink = StreamController();
final disposable = Disposable(() => sink.close());
disposable.dispose();
For more complex disposable object you can implement the Disposable
interface yourself.
class SomeObject implements Disposable {
@override
bool isDisposed = false;
@override
void dispose() {
isDisposed = true;
}
}
DisposableCollection #
final disposables = [SomeObject(), SomeObject(), disposable];
final collection = DisposableCollection(disposables);
collection.dispose();
If you want to compose disposables into without mutating after creation consider using compose
.
final disposable = Disposable.compose(disposables);
disposable.dispose();