dedupeByMsgId static method

List<Message> dedupeByMsgId(
  1. Iterable<Message> list
)

同 msg_id 保留 sequence 更大的

Implementation

static List<Message> dedupeByMsgId(Iterable<Message> list) {
  final byId = <String, Message>{};
  for (final m in list) {
    if (m.msgId.isEmpty) continue;
    final prev = byId[m.msgId];
    if (prev == null || m.seq >= prev.seq) byId[m.msgId] = m;
  }
  return byId.values.toList();
}