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
JavaScript
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