maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
  1. TResult cancel(
    1. @igFreezedJson Object? error,
    2. @igFreezedJson RequestOptions? options
    )?,
  2. TResult connectionTimeout()?,
  3. TResult sendTimeout()?,
  4. TResult receiveTimeout()?,
  5. TResult badCertificate()?,
  6. TResult connectionError()?,
  7. TResult badResponse(
    1. @igFreezedJson Response? response,
    2. int? statusCode
    )?,
  8. TResult businessException(
    1. String message,
    2. @igFreezedJson Object? error,
    3. @igFreezedJson StackTrace? stackTrace
    )?,
  9. 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();

}
}