UNPKG

@livelike/react-native

Version:

LiveLike React Native package

98 lines (97 loc) 2.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.chatMessageStoreActions = exports.chatMessageStore = void 0; var _store = require("./store"); const initialChatMessageStore = {}; const chatMessageStore = exports.chatMessageStore = (0, _store.createStore)(initialChatMessageStore); const chatMessageStoreActions = exports.chatMessageStoreActions = { updateChatConfigAction(_ref) { let { roomId, userAvatarUrl } = _ref; chatMessageStore.set({ ...chatMessageStore.get(), [roomId]: { ...chatMessageStore.get()[roomId], userAvatarUrl } }); }, updateChatMessageStateAction(_ref2) { let { roomId, chatMessagesLoaded, chatMessages, messageListIterator } = _ref2; chatMessageStore.set({ ...chatMessageStore.get(), [roomId]: { ...chatMessageStore.get()[roomId], chatMessagesLoaded, chatMessages, messageListIterator } }); }, updatePrevChatMessagesStateAction(_ref3) { let { roomId, chatMessages, messageListIterator } = _ref3; chatMessageStore.set({ ...chatMessageStore.get(), [roomId]: { ...chatMessageStore.get()[roomId], chatMessages: [...chatMessages, ...chatMessageStore.get()[roomId].chatMessages], messageListIterator } }); }, addChatMessageAction(_ref4) { var _chatMessageStore$get; let { roomId, chatMessage } = _ref4; const oldMessages = ((_chatMessageStore$get = chatMessageStore.get()[roomId]) === null || _chatMessageStore$get === void 0 ? void 0 : _chatMessageStore$get.chatMessages) ?? []; const msgIndex = oldMessages.findIndex(msg => msg.id === chatMessage.id); const updatedMessages = [...oldMessages]; if (msgIndex > -1) { updatedMessages.splice(msgIndex, 1, chatMessage); } else { updatedMessages.push(chatMessage); } chatMessageStore.set({ ...chatMessageStore.get(), [roomId]: { ...chatMessageStore.get()[roomId], chatMessages: updatedMessages } }); }, deleteChatMessageAction(_ref5) { var _chatMessageStore$get2; let { roomId, chatMessage } = _ref5; const oldMessages = ((_chatMessageStore$get2 = chatMessageStore.get()[roomId]) === null || _chatMessageStore$get2 === void 0 ? void 0 : _chatMessageStore$get2.chatMessages) ?? []; const updatedMessages = oldMessages.map(msg => msg.id === chatMessage.id ? { ...msg, isDeleted: true } : msg); chatMessageStore.set({ ...chatMessageStore.get(), [roomId]: { ...chatMessageStore.get()[roomId], chatMessages: updatedMessages } }); } }; //# sourceMappingURL=chatMessage.js.map