mayEmitMultiple function
Returns a StreamMatcher that matches any number of events that match
matcher
.
This consumes events until matcher
no longer matches. It always succeeds;
if matcher
doesn't match, this just consumes no events. It never rethrows
errors.
Implementation
StreamMatcher mayEmitMultiple(Object? matcher) {
var streamMatcher = emits(matcher);
var description = streamMatcher.description;
description += description.contains('\n') ? '\n' : ' ';
description += 'zero or more times';
return StreamMatcher((queue) async {
while (await _tryMatch(queue, streamMatcher)) {
// Do nothing; the matcher presumably already consumed events.
}
return null;
}, description);
}