Future<Set<T>> toSet()

Collects the data of this stream in a Set.

The returned set is the same type as returned by new Set<T>(). If another type of set is needed, either use forEach to add each element to the set, or use toList().then((list) => new SomeOtherSet.from(list)) to create the set.

Source

Future<Set<T>> toSet() {
  Set<T> result = new Set<T>();
  _Future<Set<T>> future = new _Future<Set<T>>();
  this.listen(
    (T data) {
      result.add(data);
    },
    onError: future._completeError,
    onDone: () {
      future._complete(result);
    },
    cancelOnError: true);
  return future;
}