transf<R extends Object> method
Transforms the type of the value managed by this SafeCompleter.
Implementation
SafeCompleter<R> transf<R extends Object>([
@noFuturesAllowed R Function(T e)? noFuturesAllowed,
]) {
final completer = SafeCompleter<R>();
resolvable().map((e) {
try {
final result = noFuturesAllowed != null
? noFuturesAllowed(e)
: (e as R);
completer.resolve(Sync<R>.unsafe(Ok(result))).end();
} catch (e) {
completer
.resolve(Sync.unsafe(Err('Failed to transform type $T to $R.')))
.end();
}
return e;
}).end();
return completer;
}