mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
js: Convert _.filter(a, …) to a.filter(…).
And convert the corresponding function expressions to arrow style while we’re here. Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
This commit is contained in:
committed by
Tim Abbott
parent
ac7b09d57e
commit
4948240619
@@ -56,9 +56,7 @@ exports.typeahead_source = function (pill_widget) {
|
||||
|
||||
exports.filter_taken_users = function (items, pill_widget) {
|
||||
const taken_user_ids = exports.get_user_ids(pill_widget);
|
||||
items = _.filter(items, function (item) {
|
||||
return !taken_user_ids.includes(item.user_id);
|
||||
});
|
||||
items = items.filter(item => !taken_user_ids.includes(item.user_id));
|
||||
return items;
|
||||
};
|
||||
```
|
||||
|
||||
@@ -746,9 +746,7 @@ run_test('updates', () => {
|
||||
const all_people = get_all_persons();
|
||||
assert.equal(all_people.length, 2);
|
||||
|
||||
person = _.filter(all_people, function (p) {
|
||||
return p.email === new_email;
|
||||
})[0];
|
||||
person = all_people.filter(p => p.email === new_email)[0];
|
||||
assert.equal(person.full_name, 'Foo Barson');
|
||||
|
||||
// Test shim where we can still retrieve user info using the
|
||||
|
||||
@@ -465,9 +465,7 @@ run_test('add_and_remove_reaction', () => {
|
||||
const result = reactions.get_message_reactions(message);
|
||||
assert.equal(blueslip.get_test_logs('warn').length, 2);
|
||||
blueslip.clear_test_data();
|
||||
const realm_emoji_data = _.filter(result, function (v) {
|
||||
return v.emoji_name === 'realm_emoji';
|
||||
})[0];
|
||||
const realm_emoji_data = result.filter(v => v.emoji_name === 'realm_emoji')[0];
|
||||
|
||||
assert.equal(realm_emoji_data.count, 2);
|
||||
assert.equal(realm_emoji_data.is_realm_emoji, true);
|
||||
|
||||
@@ -34,7 +34,7 @@ run_test('get_emoji_matcher', () => {
|
||||
function assert_matches(query, expected) {
|
||||
const matcher = typeahead.get_emoji_matcher(query);
|
||||
assert.deepEqual(
|
||||
_.filter(emojis, matcher),
|
||||
emojis.filter(matcher),
|
||||
expected
|
||||
);
|
||||
}
|
||||
|
||||
@@ -288,7 +288,7 @@ function maybe_shrink_list(user_ids, filter_text) {
|
||||
return user_ids;
|
||||
}
|
||||
|
||||
user_ids = _.filter(user_ids, user_is_recently_active);
|
||||
user_ids = user_ids.filter(user_is_recently_active);
|
||||
|
||||
return user_ids;
|
||||
}
|
||||
@@ -307,7 +307,7 @@ exports.get_filtered_and_sorted_user_ids = function (filter_text) {
|
||||
user_ids = presence.get_user_ids();
|
||||
}
|
||||
|
||||
user_ids = _.filter(user_ids, function (user_id) {
|
||||
user_ids = user_ids.filter(user_id => {
|
||||
const person = people.get_by_user_id(user_id);
|
||||
|
||||
if (!person) {
|
||||
|
||||
@@ -427,7 +427,7 @@ exports.get_person_suggestions = function (query, opts) {
|
||||
if (opts.want_broadcast) {
|
||||
persons = persons.concat(exports.broadcast_mentions());
|
||||
}
|
||||
return _.filter(persons, person_matcher);
|
||||
return persons.filter(person_matcher);
|
||||
}
|
||||
|
||||
let groups;
|
||||
@@ -438,7 +438,7 @@ exports.get_person_suggestions = function (query, opts) {
|
||||
groups = [];
|
||||
}
|
||||
|
||||
const filtered_groups = _.filter(groups, group_matcher);
|
||||
const filtered_groups = groups.filter(group_matcher);
|
||||
|
||||
/*
|
||||
Let's say you're on a big realm and type
|
||||
@@ -536,9 +536,7 @@ exports.get_sorted_filtered_items = function (query) {
|
||||
exports.filter_and_sort_candidates = function (completing, candidates, token) {
|
||||
const matcher = exports.compose_content_matcher(completing, token);
|
||||
|
||||
const small_results = _.filter(candidates, function (item) {
|
||||
return matcher(item);
|
||||
});
|
||||
const small_results = candidates.filter(item => matcher(item));
|
||||
|
||||
const sorted_results = exports.sort_results(completing, small_results, token);
|
||||
|
||||
|
||||
@@ -305,7 +305,7 @@ exports.launch = function () {
|
||||
return draft_b.updatedAt - draft_a.updatedAt;
|
||||
});
|
||||
|
||||
const sorted_formatted_drafts = _.filter(sorted_raw_drafts.map(exports.format_draft));
|
||||
const sorted_formatted_drafts = sorted_raw_drafts.map(exports.format_draft).filter(Boolean);
|
||||
|
||||
return sorted_formatted_drafts;
|
||||
}
|
||||
|
||||
@@ -342,12 +342,15 @@ Filter.prototype = {
|
||||
},
|
||||
|
||||
public_operators: function () {
|
||||
const safe_to_return = _.filter(this._operators, function (value) {
|
||||
const safe_to_return = this._operators.filter(
|
||||
// Filter out the embedded narrow (if any).
|
||||
return !(page_params.narrow_stream !== undefined &&
|
||||
value =>
|
||||
!(
|
||||
page_params.narrow_stream !== undefined &&
|
||||
value.operator === "stream" &&
|
||||
value.operand.toLowerCase() === page_params.narrow_stream.toLowerCase());
|
||||
});
|
||||
value.operand.toLowerCase() === page_params.narrow_stream.toLowerCase()
|
||||
)
|
||||
);
|
||||
return safe_to_return;
|
||||
},
|
||||
|
||||
|
||||
@@ -16,9 +16,7 @@ exports.send_read = (function () {
|
||||
let start;
|
||||
function server_request() {
|
||||
// Wait for server IDs before sending flags
|
||||
const real_msgs = _.filter(queue, function (msg) {
|
||||
return !msg.locally_echoed;
|
||||
});
|
||||
const real_msgs = queue.filter(msg => !msg.locally_echoed);
|
||||
const real_msg_ids = real_msgs.map(msg => msg.id);
|
||||
|
||||
if (real_msg_ids.length === 0) {
|
||||
@@ -48,9 +46,7 @@ exports.send_read = (function () {
|
||||
return;
|
||||
}
|
||||
|
||||
queue = _.filter(queue, function (message) {
|
||||
return !data.messages.includes(message.id);
|
||||
});
|
||||
queue = queue.filter(message => !data.messages.includes(message.id));
|
||||
|
||||
if (queue.length > 0) {
|
||||
start();
|
||||
|
||||
@@ -156,14 +156,12 @@ MessageListData.prototype = {
|
||||
valid_non_duplicated_messages: function (messages) {
|
||||
const predicate = this._get_predicate();
|
||||
const self = this;
|
||||
return _.filter(messages, function (msg) {
|
||||
return self.get(msg.id) === undefined && predicate(msg);
|
||||
});
|
||||
return messages.filter(msg => self.get(msg.id) === undefined && predicate(msg));
|
||||
},
|
||||
|
||||
filter_incoming: function (messages) {
|
||||
const predicate = this._get_predicate();
|
||||
return _.filter(messages, predicate);
|
||||
return messages.filter(predicate);
|
||||
},
|
||||
|
||||
unmuted_messages: function (messages) {
|
||||
@@ -345,13 +343,11 @@ MessageListData.prototype = {
|
||||
msg_ids_to_remove[message.id] = true;
|
||||
}
|
||||
|
||||
this._items = _.filter(this._items, function (message) {
|
||||
return !msg_ids_to_remove.hasOwnProperty(message.id);
|
||||
});
|
||||
this._items = this._items.filter(message => !msg_ids_to_remove.hasOwnProperty(message.id));
|
||||
if (this.muting_enabled) {
|
||||
this._all_items = _.filter(this._all_items, function (message) {
|
||||
return !msg_ids_to_remove.hasOwnProperty(message.id);
|
||||
});
|
||||
this._all_items = this._all_items.filter(
|
||||
message => !msg_ids_to_remove.hasOwnProperty(message.id)
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ exports.huddle_string = function (message) {
|
||||
!exports.is_my_user_id(user_id);
|
||||
}
|
||||
|
||||
user_ids = _.filter(user_ids, is_huddle_recip);
|
||||
user_ids = user_ids.filter(is_huddle_recip);
|
||||
|
||||
if (user_ids.length <= 1) {
|
||||
return;
|
||||
@@ -273,7 +273,7 @@ exports.safe_full_names = function (user_ids) {
|
||||
return person && person.full_name;
|
||||
});
|
||||
|
||||
names = _.filter(names);
|
||||
names = names.filter(Boolean);
|
||||
|
||||
return names.join(', ');
|
||||
};
|
||||
@@ -334,9 +334,7 @@ function sorted_other_user_ids(user_ids) {
|
||||
// This excludes your own user id unless you're the only user
|
||||
// (i.e. you sent a message to yourself).
|
||||
|
||||
const other_user_ids = _.filter(user_ids, function (user_id) {
|
||||
return !exports.is_my_user_id(user_id);
|
||||
});
|
||||
const other_user_ids = user_ids.filter(user_id => !exports.is_my_user_id(user_id));
|
||||
|
||||
if (other_user_ids.length >= 1) {
|
||||
user_ids = other_user_ids;
|
||||
@@ -771,7 +769,7 @@ exports.get_people_for_search_bar = function (query) {
|
||||
|
||||
const message_people = exports.get_message_people();
|
||||
|
||||
const small_results = _.filter(message_people, pred);
|
||||
const small_results = message_people.filter(pred);
|
||||
|
||||
if (small_results.length >= 5) {
|
||||
return small_results;
|
||||
@@ -1034,9 +1032,7 @@ exports.filter_for_user_settings_search = function (persons, query) {
|
||||
|
||||
See #13554 for more context.
|
||||
*/
|
||||
return _.filter(persons, (person) => {
|
||||
return exports.matches_user_settings_search(person, query);
|
||||
});
|
||||
return persons.filter(person => exports.matches_user_settings_search(person, query));
|
||||
};
|
||||
|
||||
exports.email_for_user_settings = function (person) {
|
||||
|
||||
@@ -44,9 +44,9 @@ exports.schedule_message = function (request) {
|
||||
const command_line = raw_message[0];
|
||||
const message = raw_message.slice(1).join('\n');
|
||||
|
||||
const deferred_message_type = _.filter(deferred_message_types, function (props) {
|
||||
return command_line.match(props.test) !== null;
|
||||
})[0];
|
||||
const deferred_message_type = deferred_message_types.filter(
|
||||
props => command_line.match(props.test) !== null
|
||||
)[0];
|
||||
const command = command_line.match(deferred_message_type.test)[0];
|
||||
|
||||
const deliver_at = command_line.slice(command.length + 1);
|
||||
|
||||
@@ -25,7 +25,7 @@ exports.check_record = function (var_name, val, fields) {
|
||||
return f(field_name, val[field_name]);
|
||||
});
|
||||
|
||||
const msg = _.filter(field_results).sort().join(', ');
|
||||
const msg = field_results.filter(Boolean).sort().join(', ');
|
||||
|
||||
if (msg) {
|
||||
return 'in ' + var_name + ' ' + msg;
|
||||
|
||||
@@ -88,9 +88,7 @@ function get_stream_suggestions(last, operators) {
|
||||
const query = last.operand;
|
||||
let streams = stream_data.subscribed_streams();
|
||||
|
||||
streams = _.filter(streams, function (stream) {
|
||||
return stream_matches_query(stream, query);
|
||||
});
|
||||
streams = streams.filter(stream => stream_matches_query(stream, query));
|
||||
|
||||
streams = typeahead_helper.sorter(query, streams);
|
||||
|
||||
@@ -348,9 +346,7 @@ function get_topic_suggestions(last, operators) {
|
||||
topics = topics.slice(0, 300);
|
||||
|
||||
if (guess !== '') {
|
||||
topics = _.filter(topics, function (topic) {
|
||||
return common.phrase_match(guess, topic);
|
||||
});
|
||||
topics = topics.filter(topic => common.phrase_match(guess, topic));
|
||||
}
|
||||
|
||||
topics = topics.slice(0, 10);
|
||||
@@ -400,7 +396,7 @@ function get_special_filter_suggestions(last, operators, suggestions) {
|
||||
}
|
||||
|
||||
const last_string = Filter.unparse([last]).toLowerCase();
|
||||
suggestions = _.filter(suggestions, function (s) {
|
||||
suggestions = suggestions.filter(s => {
|
||||
if (match_criteria(operators, s.invalid)) {
|
||||
return false;
|
||||
}
|
||||
@@ -575,9 +571,7 @@ function get_operator_suggestions(last) {
|
||||
}
|
||||
|
||||
let choices = ['stream', 'topic', 'pm-with', 'sender', 'near', 'from', 'group-pm-with'];
|
||||
choices = _.filter(choices, function (choice) {
|
||||
return common.phrase_match(last_operand, choice);
|
||||
});
|
||||
choices = choices.filter(choice => common.phrase_match(last_operand, choice));
|
||||
|
||||
return choices.map(choice => {
|
||||
const op = [{operator: choice, operand: '', negated: negated}];
|
||||
|
||||
@@ -349,7 +349,7 @@ exports.get_invite_stream_data = function () {
|
||||
|
||||
// Since, union doesn't work on array of objects we are using filter
|
||||
const is_included = {};
|
||||
const streams = _.filter(default_stream_data.concat(invite_stream_data), function (sub) {
|
||||
const streams = default_stream_data.concat(invite_stream_data).filter(sub => {
|
||||
if (is_included[sub.name]) {
|
||||
return false;
|
||||
}
|
||||
@@ -459,9 +459,7 @@ exports.all_subscribed_streams_are_in_home_view = function () {
|
||||
};
|
||||
|
||||
exports.home_view_stream_names = function () {
|
||||
const home_view_subs = _.filter(exports.subscribed_subs(), function (sub) {
|
||||
return !sub.is_muted;
|
||||
});
|
||||
const home_view_subs = exports.subscribed_subs().filter(sub => !sub.is_muted);
|
||||
return home_view_subs.map(sub => sub.name);
|
||||
};
|
||||
|
||||
|
||||
@@ -17,16 +17,14 @@ function filter_streams_by_search(streams, search_term) {
|
||||
let search_terms = search_term.toLowerCase().split(",");
|
||||
search_terms = search_terms.map(s => s.trim());
|
||||
|
||||
const filtered_streams = _.filter(streams, function (stream) {
|
||||
return _.any(search_terms, function (search_term) {
|
||||
const filtered_streams = streams.filter(stream => _.any(search_terms, function (search_term) {
|
||||
const lower_stream_name = stream.toLowerCase();
|
||||
const cands = lower_stream_name.split(" ");
|
||||
cands.push(lower_stream_name);
|
||||
return _.any(cands, function (name) {
|
||||
return name.startsWith(search_term);
|
||||
});
|
||||
});
|
||||
});
|
||||
}));
|
||||
|
||||
return filtered_streams;
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ exports.next_topic = function (streams, get_topics, has_unread_messages, curr_st
|
||||
exports.get_next_topic = function (curr_stream, curr_topic) {
|
||||
let my_streams = stream_sort.get_streams();
|
||||
|
||||
my_streams = _.filter(my_streams, function (stream_name) {
|
||||
my_streams = my_streams.filter(stream_name => {
|
||||
if (!stream_data.is_stream_muted_by_name(stream_name)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -6,9 +6,7 @@ const IntDict = require('./int_dict').IntDict;
|
||||
// For example, "a,,b, " => ["a", "b"]
|
||||
exports.get_cleaned_pm_recipients = function (query_string) {
|
||||
let recipients = util.extract_pm_recipients(query_string);
|
||||
recipients = _.filter(recipients, function (elem) {
|
||||
return elem.match(/\S/);
|
||||
});
|
||||
recipients = recipients.filter(elem => elem.match(/\S/));
|
||||
return recipients;
|
||||
};
|
||||
|
||||
|
||||
@@ -392,13 +392,11 @@ exports.message_unread = function (message) {
|
||||
};
|
||||
|
||||
exports.get_unread_message_ids = function (message_ids) {
|
||||
return _.filter(message_ids, message_id => unread_messages.has(message_id));
|
||||
return message_ids.filter(message_id => unread_messages.has(message_id));
|
||||
};
|
||||
|
||||
exports.get_unread_messages = function (messages) {
|
||||
return _.filter(messages, function (message) {
|
||||
return unread_messages.has(message.id);
|
||||
});
|
||||
return messages.filter(message => unread_messages.has(message.id));
|
||||
};
|
||||
|
||||
exports.update_unread_topics = function (msg, event) {
|
||||
|
||||
@@ -67,7 +67,7 @@ exports.append_person = function (opts) {
|
||||
exports.get_user_ids = function (pill_widget) {
|
||||
const items = pill_widget.items();
|
||||
let user_ids = _.pluck(items, 'user_id');
|
||||
user_ids = _.filter(user_ids); // be defensive about undefined users
|
||||
user_ids = user_ids.filter(Boolean); // be defensive about undefined users
|
||||
|
||||
return user_ids;
|
||||
};
|
||||
@@ -94,9 +94,7 @@ exports.typeahead_source = function (pill_widget) {
|
||||
|
||||
exports.filter_taken_users = function (items, pill_widget) {
|
||||
const taken_user_ids = exports.get_user_ids(pill_widget);
|
||||
items = _.filter(items, function (item) {
|
||||
return !taken_user_ids.includes(item.user_id);
|
||||
});
|
||||
items = items.filter(item => !taken_user_ids.includes(item.user_id));
|
||||
return items;
|
||||
};
|
||||
|
||||
|
||||
@@ -71,9 +71,7 @@ exports.is_pm_recipient = function (email, message) {
|
||||
};
|
||||
|
||||
exports.extract_pm_recipients = function (recipients) {
|
||||
return _.filter(recipients.split(/\s*[,;]\s*/), function (recipient) {
|
||||
return recipient.trim() !== "";
|
||||
});
|
||||
return recipients.split(/\s*[,;]\s*/).filter(recipient => recipient.trim() !== "");
|
||||
};
|
||||
|
||||
exports.same_recipient = function util_same_recipient(a, b) {
|
||||
@@ -109,7 +107,7 @@ exports.normalize_recipients = function (recipients) {
|
||||
// with exactly one comma and no spaces between each.
|
||||
recipients = recipients.split(',').map(s => s.trim());
|
||||
recipients = recipients.map(s => s.toLowerCase());
|
||||
recipients = _.filter(recipients, function (s) { return s.length > 0; });
|
||||
recipients = recipients.filter(s => s.length > 0);
|
||||
recipients.sort();
|
||||
return recipients.join(',');
|
||||
};
|
||||
|
||||
@@ -163,7 +163,7 @@ exports.sort_emojis = function (objs, query) {
|
||||
decent_match(obj.emoji_name);
|
||||
}
|
||||
|
||||
const popular_emoji_matches = _.filter(objs, is_popular);
|
||||
const popular_emoji_matches = objs.filter(is_popular);
|
||||
const others = _.reject(objs, is_popular);
|
||||
|
||||
const triage_results = exports.triage(
|
||||
|
||||
Reference in New Issue
Block a user