maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult general(
    1. ApiResponseExceptionGeneral value
    )?,
  2. TResult sapMessage(
    1. SapHeadersException value
    )?,
  3. TResult csrfToken(
    1. CsrfTokenException value
    )?,
  4. TResult transport(
    1. TransportException value
    )?,
  5. TResult noResource(
    1. NoResourceException value
    )?,
  6. TResult unauthorized(
    1. UnauthorizedException value
    )?,
  7. TResult timeout(
    1. TimeoutException value
    )?,
  8. TResult materialDocument(
    1. MaterialDocumentException value
    )?,
  9. TResult batchClassification(
    1. BatchClassificationException value
    )?,
  10. required TResult orElse(),
})

A variant of map that fallback to returning orElse.

It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case _:
    return orElse();
}

Implementation

@optionalTypeArgs TResult maybeMap<TResult extends Object?>({TResult Function( ApiResponseExceptionGeneral value)?  general,TResult Function( SapHeadersException value)?  sapMessage,TResult Function( CsrfTokenException value)?  csrfToken,TResult Function( TransportException value)?  transport,TResult Function( NoResourceException value)?  noResource,TResult Function( UnauthorizedException value)?  unauthorized,TResult Function( TimeoutException value)?  timeout,TResult Function( MaterialDocumentException value)?  materialDocument,TResult Function( BatchClassificationException value)?  batchClassification,required TResult orElse(),}){
final _that = this;
switch (_that) {
case ApiResponseExceptionGeneral() when general != null:
return general(_that);case SapHeadersException() when sapMessage != null:
return sapMessage(_that);case CsrfTokenException() when csrfToken != null:
return csrfToken(_that);case TransportException() when transport != null:
return transport(_that);case NoResourceException() when noResource != null:
return noResource(_that);case UnauthorizedException() when unauthorized != null:
return unauthorized(_that);case TimeoutException() when timeout != null:
return timeout(_that);case MaterialDocumentException() when materialDocument != null:
return materialDocument(_that);case BatchClassificationException() when batchClassification != null:
return batchClassification(_that);case _:
  return orElse();

}
}