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.5 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.getMessageListItemCacheKey = exports.buildMessageListWithNeighbours = void 0; var getMessageListItemCacheKey = (item, index) => { if (item.id) { return item.id; } if (item.created_at) { return typeof item.created_at === 'string' ? item.created_at : item.created_at.toISOString(); } return `index-${index}`; }; exports.getMessageListItemCacheKey = getMessageListItemCacheKey; var buildMessageListWithNeighbours = (processedMessageList, previousDerivedItems) => { var nextDerivedItems = new Map(); var items = processedMessageList.map((message, index) => { var cacheKey = getMessageListItemCacheKey(message, index); var previousMessage = processedMessageList[index + 1]; var nextMessage = processedMessageList[index - 1]; var previousDerived = previousDerivedItems.get(cacheKey); if (previousDerived && previousDerived.message === message && previousDerived.previousMessage === previousMessage && previousDerived.nextMessage === nextMessage) { nextDerivedItems.set(cacheKey, previousDerived); return previousDerived; } var derivedItem = { nextMessage, previousMessage, message }; nextDerivedItems.set(cacheKey, derivedItem); return derivedItem; }); return { items, nextDerivedItems }; }; exports.buildMessageListWithNeighbours = buildMessageListWithNeighbours; //# sourceMappingURL=buildMessageListWithNeighbours.js.map