updateSSEMessages method

PupauMessage updateSSEMessages(
  1. PupauMessage newSseMessage
)

Implementation

PupauMessage updateSSEMessages(PupauMessage newSseMessage) {
  PupauMessage? sseMessage = incomingMessages.firstWhereOrNull(
    (PupauMessage message) => message.id == newSseMessage.id,
  );
  if (sseMessage == null) {
    incomingMessages.add(newSseMessage);
    addMessage(newSseMessage);
    messages.refresh();
    update();
    return newSseMessage;
  } else {
    sseMessage.mergeWith(newSseMessage);
    messages.refresh();
    update();
    return sseMessage;
  }
}