TextMessage.create constructor

TextMessage.create(
  1. String text, {
  2. String? roomId,
  3. MessageExtra? extra,
  4. String? id,
  5. String? senderId,
  6. String? replyId,
  7. ChatValueTimestamp? createdAt,
})

Implementation

factory TextMessage.create(
  String text, {
  String? roomId,
  MessageExtra? extra,
  String? id,
  String? senderId,
  String? replyId,
  ChatValueTimestamp? createdAt,
}) {
  senderId ??= RoomManager.i.me;
  if (senderId.isEmpty) return const TextMessage.empty();
  id ??= ChatHelper.generateMessageId();
  createdAt ??= ChatValueTimestamp.now();
  return TextMessage._(
    id: id,
    roomId: roomId ?? '',
    senderId: senderId,
    createdAt: createdAt,
    updatedAt: createdAt,
    statuses: {senderId: MessageStatus.sending},
    replyId: replyId,
    extra: extra ?? {},
    text: text,
  );
}