processNewMessages method

ProcessedMessages processNewMessages(
  1. List<ChatMessage> fullMessageHistory
)

Implementation

ProcessedMessages processNewMessages(List<ChatMessage> fullMessageHistory) {
  bool divergent = fullMessageHistory.length < _history.length;
  if (!divergent) {
    for (int i = 0; i < _history.length; i++) {
      if (_history[i] != fullMessageHistory[i]) { // Assumes ChatMessage has == override; add if needed
        divergent = true;
        break;
      }
    }
  }

  if (divergent) {
    return ProcessedMessages(newMessages: fullMessageHistory, requiresReset: true);
  }

  final newMessages = fullMessageHistory.sublist(_history.length);
  return ProcessedMessages(newMessages: newMessages, requiresReset: false);
}