fold method

  1. @override
Resolvable<Object> fold(
  1. @noFutures Resolvable<Object>? onSync(
    1. Sync<T> sync
    ),
  2. @noFutures Resolvable<Object>? onAsync(
    1. Async<T> async
    )
)
override

Handles Sync and Async cases to produce a new Resolvable.

Implementation

@override
@pragma('vm:prefer-inline')
Resolvable<Object> fold(
  @noFutures Resolvable<Object>? Function(Sync<T> sync) onSync,
  @noFutures Resolvable<Object>? Function(Async<T> async) onAsync,
) {
  try {
    return onAsync(this) ?? this;
  } catch (error, stackTrace) {
    return Async.err(Err(error, stackTrace: stackTrace));
  }
}