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');
}
}