@livelike/react-native
Version:
LiveLike React Native package
98 lines (97 loc) • 2.81 kB
JavaScript
;
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