ChatMessage.withRole constructor
Factory constructor to create a ChatMessage
instance based on the provided role.
The role
parameter determines the type of ChatMessage
to create:
- 'user': Creates a
UserChatMessage
. - 'assistant': Creates an
AssistantChatMessage
. - 'system': Creates a
SystemChatMessage
.
Throws an ArgumentError if the provided role is not one of the expected values.
Parameters:
role
: The role of the chat message (e.g., 'user', 'assistant', 'system').content
: The content of the chat message.
Implementation
factory ChatMessage.withRole({
required String role,
required String content,
}) {
switch (role) {
case 'user':
return UserChatMessage(content);
case 'assistant':
return AssistantChatMessage(content);
case 'system':
return SystemChatMessage(content);
default:
throw ArgumentError('Invalid role: $role');
}
}