Returns whether needle
occurs in the elements provided by this stream.
Compares each element of this stream to needle
using Object.==.
If an equal element is found, the returned future is completed with true
.
If the stream ends without finding a match, the future is completed with
false
.
If the stream contains an error, or the call to Object.==
throws,
the returned future is completed with that error, and processing stops.
Source
Future<bool> contains(Object needle) { _Future<bool> future = new _Future<bool>(); StreamSubscription subscription; subscription = this.listen( (T element) { _runUserCode(() => (element == needle), (bool isMatch) { if (isMatch) { _cancelAndValue(subscription, future, true); } }, _cancelAndErrorClosure(subscription, future)); }, onError: future._completeError, onDone: () { future._complete(false); }, cancelOnError: true); return future; }