simplify tiny public chat snippet

pull/661/head
sachaaaaa 5 years ago
parent acc19985f5
commit 4da7243945

@ -1251,29 +1251,14 @@ class LokiPublicChannelAPI {
[]
);
// sort pending messages by if slave device or not
/* eslint-disable no-param-reassign */
const slaveMessages = pendingMessages
.filter(messageData => !!messageData) // filter out false messages
.reduce((retval, messageData) => {
// if a known slave
if (slavePrimaryMap[messageData.source]) {
// delay sending the message
if (retval[messageData.source] === undefined) {
retval[messageData.source] = [messageData];
} else {
retval[messageData.source].push(messageData);
}
} else {
// not from a paired/slave/unregistered device
// send event now
this.serverAPI.chatAPI.emit('publicMessage', {
message: messageData,
});
}
return retval;
}, {});
/* eslint-enable no-param-reassign */
// filter out invalid messages
pendingMessages = pendingMessages.filter(messageData => !!messageData);
// separate messages coming from primary and secondary devices
const [primaryMessages, slaveMessages] = _.partition(pendingMessages, message => !(message.source in slavePrimaryMap));
// process primary devices' message directly
primaryMessages.forEach(message => this.serverAPI.chatAPI.emit('publicMessage', {
message,
}));
pendingMessages = []; // allow memory to be freed

Loading…
Cancel
Save