transf<R extends Object> method

  1. @override
Sync<R> transf<R extends Object>([
  1. @noFutures R noFutures(
    1. T e
    )?
])
override

Transforms the Outcome's generic type from T to R.

Uses the transformer function noFutures if provided, otherwise attempts a direct cast.

Implementation

@override
@pragma('vm:prefer-inline')
Sync<R> transf<R extends Object>([@noFutures R Function(T e)? noFutures]) {
  // `Result.transf` already absorbs callback throws into an `Err`, so we
  // can wrap the result directly.
  return Sync.result(value.transf<R>(noFutures));
}