toEntityGraphError function

EntityGraphError toEntityGraphError(
  1. Object error
)

Convert an arbitrary exception to a typed EntityGraphError.

Implementation

EntityGraphError toEntityGraphError(Object error) {
  if (error is EntityGraphError) return error;
  if (error is UnimplementedError || error is UnsupportedError) {
    return TerminalError(error.toString());
  }

  // HTTP-status-bearing objects (e.g. Dio DioException, http.Response).
  final status = _extractStatus(error);
  if (status != null) {
    final msg = error.toString();
    if (status >= 400 && status < 500) {
      return TerminalError(msg, statusCode: status);
    }
    if (status >= 500) {
      return TransientError(msg, statusCode: status);
    }
  }

  return TransientError(error.toString());
}