toNotReplayValueStream method
Convert this Stream to a single-subscription NotReplayValueStream.
Implementation
NotReplayValueStream<T> toNotReplayValueStream(T value) {
final controller = ValueStreamController(value, sync: true);
late StreamSubscription<T> subscription;
controller.onListen = () {
subscription = listen(
controller.add,
onError: controller.addError,
onDone: controller.close,
);
if (!isBroadcast) {
controller.onPause = subscription.pause;
controller.onResume = subscription.resume;
}
};
controller.onCancel = () => subscription.cancel();
return controller.stream;
}