maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult assistantEnd(
    1. AssistantEnd value
    )?,
  2. TResult assistantMessage(
    1. AssistantMessage value
    )?,
  3. TResult assistantProsody(
    1. AssistantProsody value
    )?,
  4. TResult audioOutput(
    1. AudioOutput value
    )?,
  5. TResult chatMetadata(
    1. ChatMetadata value
    )?,
  6. TResult error(
    1. ReceiveMessageError value
    )?,
  7. TResult userInterruption(
    1. UserInterruption value
    )?,
  8. TResult userMessage(
    1. UserMessage value
    )?,
  9. TResult toolCall(
    1. ToolCallMessage value
    )?,
  10. TResult toolResponse(
    1. ToolResponseMessage value
    )?,
  11. TResult toolError(
    1. ToolErrorMessage value
    )?,
  12. 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( AssistantEnd value)?  assistantEnd,TResult Function( AssistantMessage value)?  assistantMessage,TResult Function( AssistantProsody value)?  assistantProsody,TResult Function( AudioOutput value)?  audioOutput,TResult Function( ChatMetadata value)?  chatMetadata,TResult Function( ReceiveMessageError value)?  error,TResult Function( UserInterruption value)?  userInterruption,TResult Function( UserMessage value)?  userMessage,TResult Function( ToolCallMessage value)?  toolCall,TResult Function( ToolResponseMessage value)?  toolResponse,TResult Function( ToolErrorMessage value)?  toolError,required TResult orElse(),}){
final _that = this;
switch (_that) {
case AssistantEnd() when assistantEnd != null:
return assistantEnd(_that);case AssistantMessage() when assistantMessage != null:
return assistantMessage(_that);case AssistantProsody() when assistantProsody != null:
return assistantProsody(_that);case AudioOutput() when audioOutput != null:
return audioOutput(_that);case ChatMetadata() when chatMetadata != null:
return chatMetadata(_that);case ReceiveMessageError() when error != null:
return error(_that);case UserInterruption() when userInterruption != null:
return userInterruption(_that);case UserMessage() when userMessage != null:
return userMessage(_that);case ToolCallMessage() when toolCall != null:
return toolCall(_that);case ToolResponseMessage() when toolResponse != null:
return toolResponse(_that);case ToolErrorMessage() when toolError != null:
return toolError(_that);case _:
  return orElse();

}
}