description

# isEmpty property

Future<bool> get isEmpty

Whether this stream contains any elements.

Waits for the first element of this stream, then completes the returned future with `false`. If this stream ends without emitting any elements, the returned future is completed with `true`.

If the first event is an error, the returned future is completed with that error.

This operation listens to this stream, and a non-broadcast stream cannot be reused after checking whether it is empty.

## Implementation

    Future<bool> get isEmpty {
      _Future<bool> future = _Future<bool>();
      StreamSubscription<T> subscription = this.listen(
        null,
        onError: future._completeError,
        onDone: () {
          future._complete(true);
        },
        cancelOnError: true,
      );
      subscription.onData((_) {
        _cancelAndValue(subscription, future, false);
      });
      return future;
    }