UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

40 lines 1.33 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.MessagePreviousAndNextMessageStore = void 0; var _streamChat = require("stream-chat"); var INITIAL_STATE = { messageList: {} }; class MessagePreviousAndNextMessageStore { constructor() { this.state = new _streamChat.StateStore(INITIAL_STATE); } setMessageListPreviousAndNextMessage({ messages, isFlashList = true }) { var currentValue = this.state.getLatestValue(); var prevMessageList = currentValue.messageList; var newMessageList = {}; for (var i = 0; i < messages.length; i++) { var message = messages[i]; var previousMessage = isFlashList ? messages[i - 1] : messages[i + 1]; var nextMessage = isFlashList ? messages[i + 1] : messages[i - 1]; var existing = prevMessageList[message.id]; if (existing && existing.previousMessage === previousMessage && existing.nextMessage === nextMessage) { newMessageList[message.id] = existing; } else { newMessageList[message.id] = { nextMessage, previousMessage }; } } this.state.partialNext({ messageList: newMessageList }); } } exports.MessagePreviousAndNextMessageStore = MessagePreviousAndNextMessageStore; //# sourceMappingURL=message-list-prev-next-state.js.map