message_store: Add an `each` helper.

This new helper allows us to do the same operation
on every message in our message_store.  We will
use this in a future commit to clear the `is_tall`
flags on all messages, after a resize.

We should be somewhat cautious about using this,
but simple operations should be really fast, even
if you have lots of messages in the store.
This commit is contained in:
Steve Howell 2019-02-25 18:01:23 +00:00
parent a6793a14f1
commit bca38200a8
2 changed files with 12 additions and 0 deletions

View File

@ -184,6 +184,12 @@ run_test('update_booleans', () => {
assert.equal(message.unread, true);
});
run_test('each', () => {
message_store.each((message) => {
assert(message.alerted !== undefined);
});
});
run_test('message_id_change', () => {
var message = {
sender_email: 'me@example.com',

View File

@ -7,6 +7,12 @@ exports.get = function get(message_id) {
return stored_messages[message_id];
};
exports.each = function (f) {
_.each(stored_messages, function (message) {
f(message);
});
};
exports.get_pm_emails = function (message) {
function email(user_id) {