eslint: Fix unicorn/no-array-callback-reference.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2021-01-22 17:36:54 -08:00
committed by Tim Abbott
parent 552f4e3d22
commit 6cd694b8e3
29 changed files with 89 additions and 93 deletions

View File

@@ -92,7 +92,6 @@
"unicorn/consistent-function-scoping": "off", "unicorn/consistent-function-scoping": "off",
"unicorn/explicit-length-check": "off", "unicorn/explicit-length-check": "off",
"unicorn/filename-case": "off", "unicorn/filename-case": "off",
"unicorn/no-fn-reference-in-iterator": "off",
"unicorn/no-nested-ternary": "off", "unicorn/no-nested-ternary": "off",
"unicorn/no-null": "off", "unicorn/no-null": "off",
"unicorn/no-process-exit": "off", "unicorn/no-process-exit": "off",

View File

@@ -16,9 +16,10 @@ const {LazySet} = zrequire("lazy_set");
run_test("map", () => { run_test("map", () => {
const ls = new LazySet([1, 2]); const ls = new LazySet([1, 2]);
const triple = (n) => n * 3; assert.deepEqual(
ls.map((n) => n * 3),
assert.deepEqual(ls.map(triple), [3, 6]); [3, 6],
);
}); });
run_test("conversions", () => { run_test("conversions", () => {

View File

@@ -354,7 +354,7 @@ run_test("sorting", () => {
}; };
function html_for(people) { function html_for(people) {
return people.map(opts.modifier).join(""); return people.map((item) => opts.modifier(item)).join("");
} }
list_render.create(container, list, opts); list_render.create(container, list, opts);

View File

@@ -28,7 +28,7 @@ function make_msg(msg_id) {
} }
function make_msgs(msg_ids) { function make_msgs(msg_ids) {
return msg_ids.map(make_msg); return msg_ids.map((msg_id) => make_msg(msg_id));
} }
function assert_contents(mld, msg_ids) { function assert_contents(mld, msg_ids) {

View File

@@ -197,8 +197,8 @@ run_test("merge_message_groups", () => {
} }
function assert_message_groups_list_equal(list1, list2) { function assert_message_groups_list_equal(list1, list2) {
const ids1 = list1.map(extract_group); const ids1 = list1.map((group) => extract_group(group));
const ids2 = list2.map(extract_group); const ids2 = list2.map((group) => extract_group(group));
assert(ids1.length); assert(ids1.length);
assert.deepEqual(ids1, ids2); assert.deepEqual(ids1, ids2);
} }

View File

@@ -35,7 +35,10 @@ const emojis = [emoji_japanese_post_office, emoji_panda_face, emoji_smile, emoji
run_test("get_emoji_matcher", () => { run_test("get_emoji_matcher", () => {
function assert_matches(query, expected) { function assert_matches(query, expected) {
const matcher = typeahead.get_emoji_matcher(query); const matcher = typeahead.get_emoji_matcher(query);
assert.deepEqual(emojis.filter(matcher), expected); assert.deepEqual(
emojis.filter((emoji) => matcher(emoji)),
expected,
);
} }
assert_matches("notaemoji", []); assert_matches("notaemoji", []);

View File

@@ -381,9 +381,8 @@ class CommonUtils {
*/ */
async get_rendered_messages(page, table = "zhome") { async get_rendered_messages(page, table = "zhome") {
return await page.evaluate((table) => { return await page.evaluate((table) => {
const data = [];
const $recipient_rows = $(`#${table}`).find(".recipient_row"); const $recipient_rows = $(`#${table}`).find(".recipient_row");
$.map($recipient_rows, (element) => { return $recipient_rows.toArray().map((element) => {
const $el = $(element); const $el = $(element);
const stream_name = $el.find(".stream_label").text().trim(); const stream_name = $el.find(".stream_label").text().trim();
const topic_name = $el.find(".stream_topic a").text().trim(); const topic_name = $el.find(".stream_topic a").text().trim();
@@ -395,15 +394,13 @@ class CommonUtils {
key = `${stream_name} > ${topic_name}`; key = `${stream_name} > ${topic_name}`;
} }
const messages = []; const messages = $el
$.map($el.find(".message_row .message_content"), (message_row) => { .find(".message_row .message_content")
messages.push(message_row.textContent.trim()); .toArray()
}); .map((message_row) => message_row.textContent.trim());
data.push([key, messages]); return [key, messages];
}); });
return data;
}, table); }, table);
} }

View File

@@ -118,9 +118,9 @@ function diff_strings(string_0, string_1) {
} }
} }
const emphasize_codes = (string) => output_lines = output_lines.map(
"\u001B[34m" + string.slice(0, 1) + "\u001B[0m" + string.slice(1); (string) => "\u001B[34m" + string.slice(0, 1) + "\u001B[0m" + string.slice(1),
output_lines = output_lines.map(emphasize_codes); );
return output_lines.join("\n"); return output_lines.join("\n");
} }

View File

@@ -286,7 +286,7 @@ function maybe_shrink_list(user_ids, user_filter_text) {
return user_ids; return user_ids;
} }
user_ids = user_ids.filter(user_is_recently_active); user_ids = user_ids.filter((user_id) => user_is_recently_active(user_id));
return user_ids; return user_ids;
} }
@@ -327,7 +327,7 @@ exports.get_filtered_and_sorted_user_ids = function (user_filter_text) {
}; };
exports.get_items_for_users = function (user_ids) { exports.get_items_for_users = function (user_ids) {
const user_info = user_ids.map(exports.info_for); const user_info = user_ids.map((user_id) => exports.info_for(user_id));
compose_fade.update_user_info(user_info, fade_config); compose_fade.update_user_info(user_info, fade_config);
return user_info; return user_info;
}; };

View File

@@ -23,8 +23,7 @@ class BuddyListConf {
get_li_from_key(opts) { get_li_from_key(opts) {
const user_id = opts.key; const user_id = opts.key;
const container = $(this.container_sel); const container = $(this.container_sel);
const sel = this.item_sel + "[data-user-id='" + user_id + "']"; return container.find(this.item_sel + "[data-user-id='" + user_id + "']");
return container.find(sel);
} }
get_key_from_li(opts) { get_key_from_li(opts) {
@@ -97,7 +96,7 @@ class BuddyList extends BuddyListConf {
} }
get_items() { get_items() {
const obj = this.container.find(this.item_sel); const obj = this.container.find(`${this.item_sel}`);
return obj.map((i, elem) => $(elem)); return obj.map((i, elem) => $(elem));
} }

View File

@@ -826,7 +826,7 @@ exports.initialize = function () {
$("body").on("click", "[data-make-editable]", function () { $("body").on("click", "[data-make-editable]", function () {
const selector = $(this).attr("data-make-editable"); const selector = $(this).attr("data-make-editable");
const edit_area = $(this).parent().find(selector); const edit_area = $(this).parent().find(`${selector}`);
$(selector).removeClass("stream-name-edit-box"); $(selector).removeClass("stream-name-edit-box");
if (edit_area.attr("contenteditable") === "true") { if (edit_area.attr("contenteditable") === "true") {
$("[data-finish-editing='" + selector + "']").hide(); $("[data-finish-editing='" + selector + "']").hide();
@@ -857,7 +857,7 @@ exports.initialize = function () {
if (map[selector].on_save) { if (map[selector].on_save) {
map[selector].on_save(e); map[selector].on_save(e);
$(this).hide(); $(this).hide();
$(this).parent().find(selector).attr("contenteditable", false); $(this).parent().find(`${selector}`).attr("contenteditable", false);
$("[data-make-editable='" + selector + "']").html(""); $("[data-make-editable='" + selector + "']").html("");
} }
}); });

View File

@@ -418,10 +418,6 @@ exports.get_pm_people = function (query) {
exports.get_person_suggestions = function (query, opts) { exports.get_person_suggestions = function (query, opts) {
query = typeahead.clean_query_lowercase(query); query = typeahead.clean_query_lowercase(query);
const person_matcher = (item) => exports.query_matches_person(query, item);
const group_matcher = (item) => query_matches_name_description(query, item);
function filter_persons(all_persons) { function filter_persons(all_persons) {
let persons; let persons;
@@ -434,7 +430,7 @@ exports.get_person_suggestions = function (query, opts) {
if (opts.want_broadcast) { if (opts.want_broadcast) {
persons = persons.concat(exports.broadcast_mentions()); persons = persons.concat(exports.broadcast_mentions());
} }
return persons.filter(person_matcher); return persons.filter((item) => exports.query_matches_person(query, item));
} }
let groups; let groups;
@@ -445,7 +441,7 @@ exports.get_person_suggestions = function (query, opts) {
groups = []; groups = [];
} }
const filtered_groups = groups.filter(group_matcher); const filtered_groups = groups.filter((item) => query_matches_name_description(query, item));
/* /*
Let's say you're on a big realm and type Let's say you're on a big realm and type

View File

@@ -332,7 +332,9 @@ exports.launch = function () {
(draft_a, draft_b) => draft_b.updatedAt - draft_a.updatedAt, (draft_a, draft_b) => draft_b.updatedAt - draft_a.updatedAt,
); );
const sorted_formatted_drafts = sorted_raw_drafts.map(exports.format_draft).filter(Boolean); const sorted_formatted_drafts = sorted_raw_drafts
.map((draft_row) => exports.format_draft(draft_row))
.filter(Boolean);
return sorted_formatted_drafts; return sorted_formatted_drafts;
} }

View File

@@ -699,9 +699,7 @@ class Filter {
} }
_fix_redundant_is_private(terms) { _fix_redundant_is_private(terms) {
const is_pm_with = (term) => Filter.term_type(term) === "pm-with"; if (!terms.some((term) => Filter.term_type(term) === "pm-with")) {
if (!terms.some(is_pm_with)) {
return terms; return terms;
} }
@@ -736,7 +734,7 @@ class Filter {
_build_sorted_term_types() { _build_sorted_term_types() {
const terms = this._operators; const terms = this._operators;
const term_types = terms.map(Filter.term_type); const term_types = terms.map((term) => Filter.term_type(term));
const sorted_terms = Filter.sorted_term_types(term_types); const sorted_terms = Filter.sorted_term_types(term_types);
return sorted_terms; return sorted_terms;
} }

View File

@@ -35,14 +35,17 @@ exports.get_filtered_items = (value, list, opts) => {
if (!opts.filter) { if (!opts.filter) {
if (get_item) { if (get_item) {
return list.map(get_item); return list.map((key) => get_item(key));
} }
return [...list]; return [...list];
} }
if (opts.filter.filterer) { if (opts.filter.filterer) {
if (get_item) { if (get_item) {
return opts.filter.filterer(list.map(get_item), value); return opts.filter.filterer(
list.map((key) => get_item(key)),
value,
);
} }
return opts.filter.filterer(list, value); return opts.filter.filterer(list, value);
} }
@@ -62,7 +65,7 @@ exports.get_filtered_items = (value, list, opts) => {
return result; return result;
} }
return list.filter(predicate); return list.filter((item) => predicate(item));
}; };
exports.alphabetic_sort = (prop) => exports.alphabetic_sort = (prop) =>

View File

@@ -41,7 +41,9 @@ function maybe_add_narrowed_messages(messages, msg_list) {
// edited in between when they sent the message and when // edited in between when they sent the message and when
// we hear back from the server and can echo the new // we hear back from the server and can echo the new
// message. Arguably, it's counterproductive complexity. // message. Arguably, it's counterproductive complexity.
new_messages = new_messages.map(message_store.add_message_metadata); new_messages = new_messages.map((message) =>
message_store.add_message_metadata(message),
);
message_util.add_new_messages(new_messages, msg_list); message_util.add_new_messages(new_messages, msg_list);
unread_ops.process_visible(); unread_ops.process_visible();
@@ -61,7 +63,7 @@ function maybe_add_narrowed_messages(messages, msg_list) {
} }
exports.insert_new_messages = function insert_new_messages(messages, sent_by_this_client) { exports.insert_new_messages = function insert_new_messages(messages, sent_by_this_client) {
messages = messages.map(message_store.add_message_metadata); messages = messages.map((message) => message_store.add_message_metadata(message));
unread.process_loaded_messages(messages); unread.process_loaded_messages(messages);
huddle_data.process_loaded_messages(messages); huddle_data.process_loaded_messages(messages);

View File

@@ -167,7 +167,7 @@ class MessageListData {
filter_incoming(messages) { filter_incoming(messages) {
const predicate = this._get_predicate(); const predicate = this._get_predicate();
return messages.filter(predicate); return messages.filter((message) => predicate(message));
} }
unmuted_messages(messages) { unmuted_messages(messages) {
@@ -304,10 +304,9 @@ class MessageListData {
this._local_only.delete(id); this._local_only.delete(id);
} }
const remove_messages = (msg) => !msg_ids_to_remove.has(msg.id); this._items = this._items.filter((msg) => !msg_ids_to_remove.has(msg.id));
this._items = this._items.filter(remove_messages);
if (this.muting_enabled) { if (this.muting_enabled) {
this._all_items = this._all_items.filter(remove_messages); this._all_items = this._all_items.filter((msg) => !msg_ids_to_remove.has(msg.id));
} }
} }

View File

@@ -49,33 +49,33 @@ exports.each = function (f) {
}; };
exports.get_pm_emails = function (message) { exports.get_pm_emails = function (message) {
function email(user_id) { const user_ids = people.pm_with_user_ids(message);
const emails = user_ids
.map((user_id) => {
const person = people.get_by_user_id(user_id); const person = people.get_by_user_id(user_id);
if (!person) { if (!person) {
blueslip.error("Unknown user id " + user_id); blueslip.error("Unknown user id " + user_id);
return "?"; return "?";
} }
return person.email; return person.email;
} })
.sort();
const user_ids = people.pm_with_user_ids(message);
const emails = user_ids.map(email).sort();
return emails.join(", "); return emails.join(", ");
}; };
exports.get_pm_full_names = function (message) { exports.get_pm_full_names = function (message) {
function name(user_id) { const user_ids = people.pm_with_user_ids(message);
const names = user_ids
.map((user_id) => {
const person = people.get_by_user_id(user_id); const person = people.get_by_user_id(user_id);
if (!person) { if (!person) {
blueslip.error("Unknown user id " + user_id); blueslip.error("Unknown user id " + user_id);
return "?"; return "?";
} }
return person.full_name; return person.full_name;
} })
.sort();
const user_ids = people.pm_with_user_ids(message);
const names = user_ids.map(name).sort();
return names.join(", "); return names.join(", ");
}; };

View File

@@ -24,7 +24,7 @@ function add_messages(messages, msg_list, opts) {
// one needs an outer element wrapping an object to use this // one needs an outer element wrapping an object to use this
// construction. // construction.
function is_element_in_message_content(message, element_selector) { function is_element_in_message_content(message, element_selector) {
return $(`<div>${message.content}</div>`).find(element_selector).length > 0; return $(`<div>${message.content}</div>`).find(`${element_selector}`).length > 0;
} }
exports.message_has_link = function (message) { exports.message_has_link = function (message) {

View File

@@ -153,11 +153,9 @@ export function huddle_string(message) {
let user_ids = message.display_recipient.map((recip) => recip.id); let user_ids = message.display_recipient.map((recip) => recip.id);
function is_huddle_recip(user_id) { user_ids = user_ids.filter(
return user_id && people_by_user_id_dict.has(user_id) && !is_my_user_id(user_id); (user_id) => user_id && people_by_user_id_dict.has(user_id) && !is_my_user_id(user_id),
} );
user_ids = user_ids.filter(is_huddle_recip);
if (user_ids.length <= 1) { if (user_ids.length <= 1) {
return undefined; return undefined;
@@ -302,7 +300,7 @@ export function get_recipients(user_ids_string) {
return my_full_name(); return my_full_name();
} }
const names = other_ids.map(get_full_name).sort(); const names = other_ids.map((user_id) => get_full_name(user_id)).sort();
return names.join(", "); return names.join(", ");
} }
@@ -873,7 +871,7 @@ export function get_people_for_search_bar(query) {
const message_people = get_message_people(); const message_people = get_message_people();
const small_results = message_people.filter(pred); const small_results = message_people.filter((item) => pred(item));
if (small_results.length >= 5) { if (small_results.length >= 5) {
return small_results; return small_results;
@@ -903,7 +901,7 @@ export function build_person_matcher(query) {
query = query.trim(); query = query.trim();
const termlets = query.toLowerCase().split(/\s+/); const termlets = query.toLowerCase().split(/\s+/);
const termlet_matchers = termlets.map(build_termlet_matcher); const termlet_matchers = termlets.map((termlet) => build_termlet_matcher(termlet));
return function (user) { return function (user) {
const email = user.email.toLowerCase(); const email = user.email.toLowerCase();

View File

@@ -26,7 +26,7 @@ exports.pm_ul = (convos) => {
]; ];
return vdom.ul({ return vdom.ul({
attrs, attrs,
keyed_nodes: convos.map(exports.keyed_pm_li), keyed_nodes: convos.map((convo) => exports.keyed_pm_li(convo)),
}); });
}; };

View File

@@ -582,7 +582,9 @@ exports.save_discard_widget_status_handler = (subsection) => {
subsection.find(".subsection-failed-status p").hide(); subsection.find(".subsection-failed-status p").hide();
subsection.find(".save-button").show(); subsection.find(".save-button").show();
const properties_elements = get_subsection_property_elements(subsection); const properties_elements = get_subsection_property_elements(subsection);
const show_change_process_button = properties_elements.some(check_property_changed); const show_change_process_button = properties_elements.some((elem) =>
check_property_changed(elem),
);
const save_btn_controls = subsection.find(".subsection-header .save-button-controls"); const save_btn_controls = subsection.find(".subsection-header .save-button-controls");
const button_state = show_change_process_button ? "unsaved" : "discarded"; const button_state = show_change_process_button ? "unsaved" : "discarded";

View File

@@ -76,8 +76,7 @@ class SettingsPanelMenu {
enter_panel() { enter_panel() {
const panel = this.get_panel(); const panel = this.get_panel();
const sel = "input:visible,button:visible,select:visible"; const panel_elem = panel.find("input:visible,button:visible,select:visible").first();
const panel_elem = panel.find(sel).first();
panel_elem.trigger("focus"); panel_elem.trigger("focus");
return true; return true;

View File

@@ -24,7 +24,7 @@ exports.build_default_stream_table = function () {
const table = $("#admin_default_streams_table").expectOne(); const table = $("#admin_default_streams_table").expectOne();
const stream_ids = stream_data.get_default_stream_ids(); const stream_ids = stream_data.get_default_stream_ids();
const subs = stream_ids.map(stream_data.get_sub_by_id); const subs = stream_ids.map((stream_id) => stream_data.get_sub_by_id(stream_id));
list_render.create(table, subs, { list_render.create(table, subs, {
name: "default_streams_list", name: "default_streams_list",

View File

@@ -228,9 +228,11 @@ function submit_add_subscriber_form(e) {
function invite_success(data) { function invite_success(data) {
exports.pill_widget.clear(); exports.pill_widget.clear();
const subscribed_users = Object.keys(data.subscribed).map(people.get_by_email); const subscribed_users = Object.keys(data.subscribed).map((email) =>
const already_subscribed_users = Object.keys(data.already_subscribed).map( people.get_by_email(email),
people.get_by_email, );
const already_subscribed_users = Object.keys(data.already_subscribed).map((email) =>
people.get_by_email(email),
); );
const html = render_stream_subscription_info({subscribed_users, already_subscribed_users}); const html = render_stream_subscription_info({subscribed_users, already_subscribed_users});

View File

@@ -128,7 +128,7 @@ class TopicListWidget {
const attrs = [["class", "topic-list"]]; const attrs = [["class", "topic-list"]];
const nodes = list_info.items.map(exports.keyed_topic_li); const nodes = list_info.items.map((convo) => exports.keyed_topic_li(convo));
if (spinner) { if (spinner) {
nodes.push(exports.spinner_li()); nodes.push(exports.spinner_li());

View File

@@ -46,7 +46,7 @@ function get_users_typing_for_narrow() {
exports.render_notifications_for_narrow = function () { exports.render_notifications_for_narrow = function () {
const user_ids = get_users_typing_for_narrow(); const user_ids = get_users_typing_for_narrow();
const users_typing = user_ids.map(people.get_by_user_id); const users_typing = user_ids.map((user_id) => people.get_by_user_id(user_id));
if (users_typing.length === 0) { if (users_typing.length === 0) {
$("#typing_notifications").hide(); $("#typing_notifications").hide();
} else { } else {

View File

@@ -218,14 +218,10 @@ exports.is_mobile = function () {
return new RegExp(regex, "i").test(window.navigator.userAgent); return new RegExp(regex, "i").test(window.navigator.userAgent);
}; };
function to_int(s) {
return Number.parseInt(s, 10);
}
exports.sorted_ids = function (ids) { exports.sorted_ids = function (ids) {
// This mapping makes sure we are using ints, and // This mapping makes sure we are using ints, and
// it also makes sure we don't mutate the list. // it also makes sure we don't mutate the list.
let id_list = ids.map(to_int); let id_list = ids.map((s) => Number.parseInt(s, 10));
id_list.sort((a, b) => a - b); id_list.sort((a, b) => a - b);
id_list = _.sortedUniq(id_list); id_list = _.sortedUniq(id_list);

View File

@@ -160,7 +160,7 @@ export function sort_emojis(objs, query) {
return popular_set.has(obj.emoji_code) && decent_match(obj.emoji_name); return popular_set.has(obj.emoji_code) && decent_match(obj.emoji_name);
} }
const popular_emoji_matches = objs.filter(is_popular); const popular_emoji_matches = objs.filter((obj) => is_popular(obj));
const others = objs.filter((obj) => !is_popular(obj)); const others = objs.filter((obj) => !is_popular(obj));
const triage_results = triage(query, others, (x) => x.emoji_name); const triage_results = triage(query, others, (x) => x.emoji_name);