maybeWhen<TResult extends Object?> method
TResult
maybeWhen<TResult extends Object?>({
- TResult cancel(
- Object? error,
- RequestOptions? options
- TResult connectionTimeout()?,
- TResult sendTimeout()?,
- TResult receiveTimeout()?,
- TResult badCertificate()?,
- TResult connectionError()?,
- TResult badResponse(
- Response? response,
- int? statusCode
- TResult businessException(
- String message,
- Object? error,
- StackTrace? stackTrace
- required TResult orElse(),
A variant of when
that fallback to an orElse
callback.
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return orElse();
}
Implementation
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function(@igFreezedJson Object? error,
@igFreezedJson RequestOptions? options)?
cancel,
TResult Function()? connectionTimeout,
TResult Function()? sendTimeout,
TResult Function()? receiveTimeout,
TResult Function()? badCertificate,
TResult Function()? connectionError,
TResult Function(@igFreezedJson Response? response, int? statusCode)?
badResponse,
TResult Function(String message, @igFreezedJson Object? error,
@igFreezedJson StackTrace? stackTrace)?
businessException,
required TResult orElse(),
}) {
final _that = this;
switch (_that) {
case BaseApiCancelException() when cancel != null:
return cancel(_that.error, _that.options);
case BaseApiConnectionTimeoutException() when connectionTimeout != null:
return connectionTimeout();
case BaseApiSendTimeoutException() when sendTimeout != null:
return sendTimeout();
case BaseApiReceiveTimeoutException() when receiveTimeout != null:
return receiveTimeout();
case BaseApiBadCertificateException() when badCertificate != null:
return badCertificate();
case BaseApiConnectionErrorException() when connectionError != null:
return connectionError();
case BaseApiBadResponseException() when badResponse != null:
return badResponse(_that.response, _that.statusCode);
case BaseApiBusinessException() when businessException != null:
return businessException(_that.message, _that.error, _that.stackTrace);
case _:
return orElse();
}
}