| Index: sdk/lib/async/stream.dart
|
| diff --git a/sdk/lib/async/stream.dart b/sdk/lib/async/stream.dart
|
| index 68e2588bbab43e4717b253c5116992817a0e4ed8..fc29aa14a96f139546adef4c83bd9bfbc4d856e3 100644
|
| --- a/sdk/lib/async/stream.dart
|
| +++ b/sdk/lib/async/stream.dart
|
| @@ -12,16 +12,23 @@ abstract class Stream<T> {
|
| Stream();
|
|
|
| factory Stream.fromFuture(Future<T> future) {
|
| - var controller = new StreamController<T>();
|
| + _StreamImpl<T> stream = new _MultiStreamImpl<T>();
|
| future.then((value) {
|
| - controller.add(value);
|
| - controller.close();
|
| + stream._add(value);
|
| + stream._close();
|
| },
|
| onError: (error) {
|
| - controller.signalError(error);
|
| - controller.close();
|
| + stream._signalError(error);
|
| + stream._close();
|
| });
|
| - return controller.stream;
|
| + return stream;
|
| + }
|
| +
|
| + /**
|
| + * Creates a single-subscription stream that gets its data from [data].
|
| + */
|
| + factory Stream.fromIterable(Iterable<T> data) {
|
| + return new _IterableSingleStreamImpl<T>(data);
|
| }
|
|
|
| /**
|
|
|