whenOrNull<TResult extends Object?> method
TResult?
whenOrNull<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
A variant of when that fallback to returning null
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return null;
}
Implementation
@optionalTypeArgs TResult? whenOrNull<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,}) {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 null;
}
}