cond method
Returns the value of the Pod when the test
returns true
.
Implementation
Resolvable<T> cond(bool Function(T value) test) {
final finisher = SafeCompleter<T>();
final check = () {
if (test(value)) {
finisher.complete(value).end();
}
};
check();
if (finisher.isCompleted) {
return Sync.okValue(value);
} else {
addStrongRefListener(strongRefListener: check);
return finisher.resolvable().then((e) {
removeListener(check);
return e;
});
}
}