ilkersevim_async_lifecycle 0.1.3 copy "ilkersevim_async_lifecycle: ^0.1.3" to clipboard
ilkersevim_async_lifecycle: ^0.1.3 copied to clipboard

Avoid double completion and StreamController add-after-close errors with reusable, dependency-free Dart lifecycle helpers.

example/main.dart

import 'dart:async';

import 'package:ilkersevim_async_lifecycle/ilkersevim_async_lifecycle.dart';

Future<void> main() async {
  final CompleterHelper<String> helper = CompleterHelper<String>();
  final Completer<String> completer = helper.start();
  helper.complete('ok');
  print(await completer.future);

  final StreamController<int> controller = StreamController<int>();
  StreamControllerSafeEmit.safeAdd(controller, 1);
  await controller.close();
  StreamControllerSafeEmit.safeAdd(controller, 2); // no-op after close
}
1
likes
160
points
377
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Avoid double completion and StreamController add-after-close errors with reusable, dependency-free Dart lifecycle helpers.

Repository (GitHub)
View/report issues

Topics

#async #streams #dart

License

Apache-2.0 (license)

More

Packages that depend on ilkersevim_async_lifecycle