Message.fromJson constructor

Message.fromJson(
  1. Map<String, dynamic> json
)

Create a new instance from JSON.

Implementation

factory Message.fromJson(Map<String, dynamic> json) {
  final message = _$MessageFromJson(
    Serializer.moveToExtraDataFromRoot(json, topLevelFields),
  );

  var state = MessageState.sent;
  if (message.deletedAt != null) {
    state = MessageState.softDeleted;
  } else if (message.updatedAt.isAfter(message.createdAt)) {
    state = MessageState.updated;
  }

  return message.copyWith(state: state);
}