maybeWhen<TResult extends Object?> method
TResult
maybeWhen<TResult extends Object?>({
- TResult cancel(
- @igFreezedJson Object? error,
- @igFreezedJson RequestOptions? options
- TResult connectionTimeout()?,
- TResult sendTimeout()?,
- TResult receiveTimeout()?,
- TResult badCertificate()?,
- TResult connectionError()?,
- TResult badResponse(
- @igFreezedJson Response? response,
- int? statusCode
- TResult businessException(
- String message,
- @igFreezedJson Object? error,
- @igFreezedJson 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<dynamic>? 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();
}
}