generateChatMessageModel static method
String
generateChatMessageModel(
)
Implementation
static String generateChatMessageModel() {
return '''
class ChatMessageModel {
final String role;
final List<ChatPartModel> parts;
ChatMessageModel({
required this.role,
required this.parts,
});
Map<String, dynamic> toMap() {
return {
'role': role,
'parts': parts.map((part) => part.toMap()).toList(),
};
}
factory ChatMessageModel.fromMap(Map<String, dynamic> map) {
return ChatMessageModel(
role: map['role'] ?? '',
parts: List<ChatPartModel>.from(
(map['parts'] as List).map((x) => ChatPartModel.fromMap(x)),
),
);
}
}
class ChatPartModel {
final String text;
ChatPartModel({required this.text});
Map<String, dynamic> toMap() {
return {'text': text};
}
factory ChatPartModel.fromMap(Map<String, dynamic> map) {
return ChatPartModel(text: map['text'] ?? '');
}
}
class ChatMessage {
final String text;
final bool isUser;
final DateTime timestamp;
ChatMessage({
required this.text,
required this.isUser,
DateTime? timestamp,
}) : timestamp = timestamp ?? DateTime.now();
ChatMessageModel toGeminiModel() {
return ChatMessageModel(
role: isUser ? 'user' : 'model',
parts: [ChatPartModel(text: text)],
);
}
}
''';
}