message_store: Convert stored_messages from object to Map.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
This commit is contained in:
Anders Kaseorg
2020-02-05 17:19:58 -08:00
committed by Tim Abbott
parent 442ff64836
commit cbe476721c

View File

@@ -1,4 +1,4 @@
const stored_messages = {}; const stored_messages = new Map();
/* /*
We keep a set of user_ids for all people We keep a set of user_ids for all people
@@ -20,13 +20,11 @@ exports.user_ids = function () {
}; };
exports.get = function get(message_id) { exports.get = function get(message_id) {
return stored_messages[message_id]; return stored_messages.get(message_id);
}; };
exports.each = function (f) { exports.each = function (f) {
_.each(stored_messages, function (message) { stored_messages.forEach(f);
f(message);
});
}; };
exports.get_pm_emails = function (message) { exports.get_pm_emails = function (message) {
@@ -126,7 +124,7 @@ exports.update_booleans = function (message, flags) {
}; };
exports.add_message_metadata = function (message) { exports.add_message_metadata = function (message) {
const cached_msg = stored_messages[message.id]; const cached_msg = stored_messages.get(message.id);
if (cached_msg !== undefined) { if (cached_msg !== undefined) {
// Copy the match topic and content over if they exist on // Copy the match topic and content over if they exist on
// the new message // the new message
@@ -189,7 +187,7 @@ exports.add_message_metadata = function (message) {
if (!message.reactions) { if (!message.reactions) {
message.reactions = []; message.reactions = [];
} }
stored_messages[message.id] = message; stored_messages.set(message.id, message);
return message; return message;
}; };
@@ -199,9 +197,9 @@ exports.reify_message_id = function (opts) {
if (pointer.furthest_read === old_id) { if (pointer.furthest_read === old_id) {
pointer.set_furthest_read(new_id); pointer.set_furthest_read(new_id);
} }
if (stored_messages[old_id]) { if (stored_messages.has(old_id)) {
stored_messages[new_id] = stored_messages[old_id]; stored_messages.set(new_id, stored_messages.get(old_id));
delete stored_messages[old_id]; stored_messages.delete(old_id);
} }
_.each([message_list.all, home_msg_list, message_list.narrowed], function (msg_list) { _.each([message_list.all, home_msg_list, message_list.narrowed], function (msg_list) {