stream<T> method
Listen to a pod
as a Stream.
Implementation
Stream<T> stream<T>(Pod<T> pod) {
late StreamController<T> controller;
void Function()? cancel;
void pause() {
cancel?.call();
cancel = null;
}
void resume() {
assert(cancel == null);
cancel = subscribe(pod, controller.add);
}
controller = StreamController(
onPause: pause,
onResume: resume,
onListen: resume,
onCancel: pause,
sync: true,
);
return controller.stream;
}