ilkersevim_disposables 0.1.2 copy "ilkersevim_disposables: ^0.1.2" to clipboard
ilkersevim_disposables: ^0.1.2 copied to clipboard

Prevent leaked subscriptions, timers, controllers, and cleanup callbacks by disposing related Dart resources together.

example/main.dart

import 'dart:async';

import 'package:ilkersevim_disposables/ilkersevim_disposables.dart';

void main() async {
  final DisposableBag bag = DisposableBag();
  final StreamController<int> controller = StreamController<int>();
  bag.trackController(controller);
  bag.addSync(() => print('sync cleanup'));

  final SubscriptionManager subs = SubscriptionManager();
  subs.register(
    controller.stream.listen((final int value) {
      print('got $value');
    }),
  );

  controller.add(1);
  await bag.dispose();
  await subs.dispose();
  print('done');
}
1
likes
160
points
388
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Prevent leaked subscriptions, timers, controllers, and cleanup callbacks by disposing related Dart resources together.

Repository (GitHub)
View/report issues

Topics

#async #lifecycle #dart

License

Apache-2.0 (license)

More

Packages that depend on ilkersevim_disposables