whenOrNull<TResult extends Object?> method
- @optionalTypeArgs
- TResult? audioInput()?,
- TResult? sessionSettings(
- AudioSettings? audio,
- List<
BuiltinTool> ? builtinTools, - ContextSettings? context,
- String? customSessionId,
- String? languageModelApiKey,
- Map<
String, dynamic> ? metadata, - String? systemPrompt,
- List<
UserDefinedTool> ? tools, - Map<
String, dynamic> ? variables, - String? voiceId,
- TResult? userInput()?,
- TResult? assistantInput()?,
- TResult? toolResponse()?,
- TResult? toolError()?,
- TResult? pauseAssistantMessage(
- String? customSessionId
- TResult? resumeAssistantMessage(
- String? customSessionId
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( String data, String? customSessionId)? audioInput,TResult? Function( AudioSettings? audio, List<BuiltinTool>? builtinTools, ContextSettings? context, String? customSessionId, String? languageModelApiKey, Map<String, dynamic>? metadata, String? systemPrompt, List<UserDefinedTool>? tools, Map<String, dynamic>? variables, String? voiceId)? sessionSettings,TResult? Function( String text, String? customSessionId)? userInput,TResult? Function( String text, String? customSessionId)? assistantInput,TResult? Function( String content, String toolCallId, String? customSessionId, String? toolName, String? toolType)? toolResponse,TResult? Function( String error, String toolCallId, String? code, String? content, String? customSessionId, String? level, String? toolType)? toolError,TResult? Function( String? customSessionId)? pauseAssistantMessage,TResult? Function( String? customSessionId)? resumeAssistantMessage,}) {final _that = this;
switch (_that) {
case AudioInput() when audioInput != null:
return audioInput(_that.data,_that.customSessionId);case SessionSettings() when sessionSettings != null:
return sessionSettings(_that.audio,_that.builtinTools,_that.context,_that.customSessionId,_that.languageModelApiKey,_that.metadata,_that.systemPrompt,_that.tools,_that.variables,_that.voiceId);case UserInput() when userInput != null:
return userInput(_that.text,_that.customSessionId);case AssistantInput() when assistantInput != null:
return assistantInput(_that.text,_that.customSessionId);case ToolResponseMessage() when toolResponse != null:
return toolResponse(_that.content,_that.toolCallId,_that.customSessionId,_that.toolName,_that.toolType);case ToolErrorMessage() when toolError != null:
return toolError(_that.error,_that.toolCallId,_that.code,_that.content,_that.customSessionId,_that.level,_that.toolType);case PauseAssistantMessage() when pauseAssistantMessage != null:
return pauseAssistantMessage(_that.customSessionId);case ResumeAssistantMessage() when resumeAssistantMessage != null:
return resumeAssistantMessage(_that.customSessionId);case _:
return null;
}
}