Skip to content

Simple library to manage objects needing to release its own resources.

License

Notifications You must be signed in to change notification settings

marcguilera/disposables.dart

Repository files navigation

CircleCI pub package

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();

About

Simple library to manage objects needing to release its own resources.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages