failureFromAsyncError function

AppFailure failureFromAsyncError(
  1. Object error,
  2. StackTrace stackTrace
)

Maps an AsyncValue error to AppFailure, unwrapping Riverpod wrappers.

Implementation

AppFailure failureFromAsyncError(Object error, StackTrace stackTrace) {
  var current = error;
  for (var i = 0; i < 3; i++) {
    if (current is AppFailure) {
      return current;
    }
    final inner = _readExceptionField(current);
    if (inner == null || identical(inner, current)) {
      break;
    }
    current = inner;
  }
  if (current is AppFailure) {
    return current;
  }
  return UnknownFailure(cause: current, trace: stackTrace);
}