ChatMessage.fromJson constructor

ChatMessage.fromJson(
  1. Map<String, dynamic> jsonData
)

Create a ChatMessage instance from json data

Implementation

factory ChatMessage.fromJson(Map<String, dynamic> jsonData) {
  return ChatMessage(
    user: ChatUser.fromJson(jsonData['user'] as Map<String, dynamic>),
    createdAt: DateTime.parse(jsonData['createdAt'].toString()).toLocal(),
    text: jsonData['text']?.toString() ?? '',
    isMarkdown: jsonData['isMarkdown']?.toString() == 'true',
    medias: jsonData['medias'] != null
        ? (jsonData['medias'] as List<dynamic>)
            .map((dynamic media) =>
                ChatMedia.fromJson(media as Map<String, dynamic>))
            .toList()
        : <ChatMedia>[],
    quickReplies: jsonData['quickReplies'] != null
        ? (jsonData['quickReplies'] as List<dynamic>)
            .map((dynamic quickReply) =>
                QuickReply.fromJson(quickReply as Map<String, dynamic>))
            .toList()
        : <QuickReply>[],
    customProperties: jsonData['customProperties'] as Map<String, dynamic>?,
    mentions: jsonData['mentions'] != null
        ? (jsonData['mentions'] as List<dynamic>)
            .map((dynamic mention) =>
                Mention.fromJson(mention as Map<String, dynamic>))
            .toList()
        : <Mention>[],
    status: MessageStatus.parse(jsonData['status'].toString()),
    replyTo: jsonData['replyTo'] != null
        ? ChatMessage.fromJson(jsonData['replyTo'] as Map<String, dynamic>)
        : null,
  );
}