StreamControllerSafeExtensions<T> extension
StreamController Safety Extensions
Provides safe methods on StreamController to avoid common pitfalls such as adding events to a closed controller and swallowing errors.
Example:
final controller = StreamController<int>();
// Safely add an event:
controller.safeAdd(42);
// Safely close:
await controller.safeClose();
- on
Methods
-
asBroadcast(
) → StreamController< T> -
Available on StreamController<
Converts this controller into a broadcast controller.T> , provided by the StreamControllerSafeExtensions extension -
mergeStreams(
List< Stream< streams) → Future<T> >void> -
Available on StreamController<
Merges events from multipleT> , provided by the StreamControllerSafeExtensions extensionstreamsinto this controller. -
safeAdd(
T event) → bool -
Available on StreamController<
Adds anT> , provided by the StreamControllerSafeExtensions extensioneventto this controller if it is not closed. -
safeAddAll(
Iterable< T> events, {Duration? throttleDuration}) → Future<int> -
Available on StreamController<
Adds all events fromT> , provided by the StreamControllerSafeExtensions extensioneventsto this controller. -
safeAddError(
Object error, [StackTrace? stackTrace]) → bool -
Available on StreamController<
Adds anT> , provided by the StreamControllerSafeExtensions extensionerror(with an optionalstackTrace) to this controller if it is not closed. -
safeAddFuture(
Future< T> future, {void onError(Object error, StackTrace stackTrace)?}) → Future<void> -
Available on StreamController<
Adds the result of aT> , provided by the StreamControllerSafeExtensions extensionfutureto this controller once it completes. -
safeAddStream(
Stream< T> sourceStream) → Future<int> -
Available on StreamController<
Listens toT> , provided by the StreamControllerSafeExtensions extensionsourceStreamand adds its events to this controller. -
safeClose(
) → Future< void> -
Available on StreamController<
Closes this controller if it is still open.T> , provided by the StreamControllerSafeExtensions extension