SendMessagePatterns extension

Adds pattern-matching-related methods to SendMessage.

on

Methods

map<TResult extends Object?>({required TResult audioInput(AudioInput value), required TResult sessionSettings(SessionSettings value), required TResult userInput(UserInput value), required TResult assistantInput(AssistantInput value), required TResult toolResponse(ToolResponseMessage value), required TResult toolError(ToolErrorMessage value), required TResult pauseAssistantMessage(PauseAssistantMessage value), required TResult resumeAssistantMessage(ResumeAssistantMessage value)}) → TResult

Available on SendMessage, provided by the SendMessagePatterns extension

A switch-like method, using callbacks.
mapOrNull<TResult extends Object?>({TResult? audioInput(AudioInput value)?, TResult? sessionSettings(SessionSettings value)?, TResult? userInput(UserInput value)?, TResult? assistantInput(AssistantInput value)?, TResult? toolResponse(ToolResponseMessage value)?, TResult? toolError(ToolErrorMessage value)?, TResult? pauseAssistantMessage(PauseAssistantMessage value)?, TResult? resumeAssistantMessage(ResumeAssistantMessage value)?}) → TResult?

Available on SendMessage, provided by the SendMessagePatterns extension

A variant of map that fallback to returning null.
maybeMap<TResult extends Object?>({TResult audioInput(AudioInput value)?, TResult sessionSettings(SessionSettings value)?, TResult userInput(UserInput value)?, TResult assistantInput(AssistantInput value)?, TResult toolResponse(ToolResponseMessage value)?, TResult toolError(ToolErrorMessage value)?, TResult pauseAssistantMessage(PauseAssistantMessage value)?, TResult resumeAssistantMessage(ResumeAssistantMessage value)?, required TResult orElse()}) → TResult

Available on SendMessage, provided by the SendMessagePatterns extension

A variant of map that fallback to returning orElse.
maybeWhen<TResult extends Object?>({TResult audioInput(String data, String? customSessionId)?, 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(String data, String? customSessionId)?, TResult assistantInput(String data, String? customSessionId)?, TResult toolResponse(String content, String toolCallId, String? customSessionId, String? toolName, String? toolType)?, TResult toolError(String error, String toolCallId, String? code, String? content, String? customSessionId, String? level, String? toolType)?, TResult pauseAssistantMessage(String? customSessionId)?, TResult resumeAssistantMessage(String? customSessionId)?, required TResult orElse()}) → TResult

Available on SendMessage, provided by the SendMessagePatterns extension

A variant of when that fallback to an orElse callback.
when<TResult extends Object?>({required TResult audioInput(String data, String? customSessionId), required 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), required TResult userInput(String data, String? customSessionId), required TResult assistantInput(String data, String? customSessionId), required TResult toolResponse(String content, String toolCallId, String? customSessionId, String? toolName, String? toolType), required TResult toolError(String error, String toolCallId, String? code, String? content, String? customSessionId, String? level, String? toolType), required TResult pauseAssistantMessage(String? customSessionId), required TResult resumeAssistantMessage(String? customSessionId)}) → TResult

Available on SendMessage, provided by the SendMessagePatterns extension

A switch-like method, using callbacks.
whenOrNull<TResult extends Object?>({TResult? audioInput(String data, String? customSessionId)?, 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(String data, String? customSessionId)?, TResult? assistantInput(String data, String? customSessionId)?, TResult? toolResponse(String content, String toolCallId, String? customSessionId, String? toolName, String? toolType)?, TResult? toolError(String error, String toolCallId, String? code, String? content, String? customSessionId, String? level, String? toolType)?, TResult? pauseAssistantMessage(String? customSessionId)?, TResult? resumeAssistantMessage(String? customSessionId)?}) → TResult?

Available on SendMessage, provided by the SendMessagePatterns extension

A variant of when that fallback to returning null