stream<T> static method
Implementation
static Stream<T> stream<T>(Stream<T> Function() source) {
final context = NativeCallContext._();
final zone = Zone.current.fork(zoneValues: {_key: context});
StreamSubscription<T>? subscription;
late StreamController<T> controller;
controller = StreamController<T>(
onListen: () => zone.run(() {
subscription = source().listen(
controller.add,
onError: controller.addError,
onDone: controller.close,
);
}),
onPause: () => subscription?.pause(),
onResume: () => subscription?.resume(),
onCancel: () => subscription?.cancel(),
);
return controller.stream;
}