resolveStream<T> function

Future<List<T>> resolveStream<T>(
  1. Stream<T> stream
)

Implementation

Future<List<T>> resolveStream<T>(final Stream<T> stream) async {
  final Completer<List<T>> completer = Completer<List<T>>();
  final List<T> data = <T>[];

  stream.listen(
    data.add,
    onDone: () {
      completer.complete(data);
    },
    onError: (final Object error, final StackTrace stack) {
      completer.completeError(error, stack);
    },
  );

  return completer.future;
}