maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
  1. TResult authentication(
    1. String message,
    2. PlatformInt64 status
    )?,
  2. TResult rateLimited(
    1. String message,
    2. PlatformInt64 status
    )?,
  3. TResult badRequest(
    1. String message,
    2. PlatformInt64 status
    )?,
  4. TResult contextWindowExceeded(
    1. String message
    )?,
  5. TResult contentPolicy(
    1. String message
    )?,
  6. TResult notFound(
    1. String message
    )?,
  7. TResult serverError(
    1. String message,
    2. PlatformInt64 status
    )?,
  8. TResult serviceUnavailable(
    1. String message,
    2. PlatformInt64 status
    )?,
  9. TResult timeout()?,
  10. TResult streaming(
    1. String message
    )?,
  11. TResult endpointNotSupported(
    1. String endpoint,
    2. String provider
    )?,
  12. TResult invalidHeader(
    1. String endpoint,
    2. String provider
    )?,
  13. TResult serialization(
    1. String message
    )?,
  14. TResult budgetExceeded(
    1. String endpoint,
    2. String provider
    )?,
  15. TResult hookRejected(
    1. String message
    )?,
  16. TResult internalError(
    1. String message
    )?,
  17. TResult outboundForbidden(
    1. String endpoint,
    2. String provider
    )?,
  18. TResult idempotencyConflict(
    1. String message
    )?,
  19. TResult idempotencyInFlight(
    1. String message
    )?,
  20. 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( String message,  PlatformInt64 status)?  authentication,TResult Function( String message,  PlatformInt64 retryAfter)?  rateLimited,TResult Function( String message,  PlatformInt64 status)?  badRequest,TResult Function( String message)?  contextWindowExceeded,TResult Function( String message)?  contentPolicy,TResult Function( String message)?  notFound,TResult Function( String message,  PlatformInt64 status)?  serverError,TResult Function( String message,  PlatformInt64 status)?  serviceUnavailable,TResult Function()?  timeout,TResult Function( String message)?  streaming,TResult Function( String endpoint,  String provider)?  endpointNotSupported,TResult Function( String name,  String reason)?  invalidHeader,TResult Function( String field0)?  serialization,TResult Function( String message,  String model)?  budgetExceeded,TResult Function( String message)?  hookRejected,TResult Function( String message)?  internalError,TResult Function( String url,  String reason)?  outboundForbidden,TResult Function( String key)?  idempotencyConflict,TResult Function( String key)?  idempotencyInFlight,required TResult orElse(),}) {final _that = this;
switch (_that) {
case LiterLlmError_Authentication() when authentication != null:
return authentication(_that.message,_that.status);case LiterLlmError_RateLimited() when rateLimited != null:
return rateLimited(_that.message,_that.retryAfter);case LiterLlmError_BadRequest() when badRequest != null:
return badRequest(_that.message,_that.status);case LiterLlmError_ContextWindowExceeded() when contextWindowExceeded != null:
return contextWindowExceeded(_that.message);case LiterLlmError_ContentPolicy() when contentPolicy != null:
return contentPolicy(_that.message);case LiterLlmError_NotFound() when notFound != null:
return notFound(_that.message);case LiterLlmError_ServerError() when serverError != null:
return serverError(_that.message,_that.status);case LiterLlmError_ServiceUnavailable() when serviceUnavailable != null:
return serviceUnavailable(_that.message,_that.status);case LiterLlmError_Timeout() when timeout != null:
return timeout();case LiterLlmError_Streaming() when streaming != null:
return streaming(_that.message);case LiterLlmError_EndpointNotSupported() when endpointNotSupported != null:
return endpointNotSupported(_that.endpoint,_that.provider);case LiterLlmError_InvalidHeader() when invalidHeader != null:
return invalidHeader(_that.name,_that.reason);case LiterLlmError_Serialization() when serialization != null:
return serialization(_that.field0);case LiterLlmError_BudgetExceeded() when budgetExceeded != null:
return budgetExceeded(_that.message,_that.model);case LiterLlmError_HookRejected() when hookRejected != null:
return hookRejected(_that.message);case LiterLlmError_InternalError() when internalError != null:
return internalError(_that.message);case LiterLlmError_OutboundForbidden() when outboundForbidden != null:
return outboundForbidden(_that.url,_that.reason);case LiterLlmError_IdempotencyConflict() when idempotencyConflict != null:
return idempotencyConflict(_that.key);case LiterLlmError_IdempotencyInFlight() when idempotencyInFlight != null:
return idempotencyInFlight(_that.key);case _:
  return orElse();

}
}