mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 14:03:30 +00:00 
			
		
		
		
	js: Clean up typeof … === "undefined" checks.
The only reason to use typeof foo === "undefined" is when foo is a global identifier that might not have been declared at all, so it might raise a ReferenceError if evaluated. For a variable declared with const or let or import, a function argument, or a complex expression, simply foo === undefined is equivalent. Some of these conditions have become impossible and can be removed entirely, and some can be replaced more idiomatically with default parameters (note that JavaScript does not share the Python misfeature of evaluating the default parameter at function declaration time). Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
		
				
					committed by
					
						
						Tim Abbott
					
				
			
			
				
	
			
			
			
						parent
						
							9840803c00
						
					
				
				
					commit
					6de39ae92d
				
			@@ -48,7 +48,7 @@ export function update(bot_id, bot_update) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // We currently only support one service per bot.
 | 
					    // We currently only support one service per bot.
 | 
				
			||||||
    const service = services.get(bot_id)[0];
 | 
					    const service = services.get(bot_id)[0];
 | 
				
			||||||
    if (typeof bot_update.services !== "undefined" && bot_update.services.length > 0) {
 | 
					    if (bot_update.services !== undefined && bot_update.services.length > 0) {
 | 
				
			||||||
        Object.assign(service, _.pick(bot_update.services[0], services_fields));
 | 
					        Object.assign(service, _.pick(bot_update.services[0], services_fields));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,7 @@ import * as ui_util from "./ui_util";
 | 
				
			|||||||
const state = {
 | 
					const state = {
 | 
				
			||||||
    is_internal_change: false,
 | 
					    is_internal_change: false,
 | 
				
			||||||
    hash_before_overlay: null,
 | 
					    hash_before_overlay: null,
 | 
				
			||||||
    old_hash: typeof window !== "undefined" ? window.location.hash : "#",
 | 
					    old_hash: window.location.hash,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function clear_for_testing() {
 | 
					export function clear_for_testing() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,7 @@ export const get_next_id_float = (function () {
 | 
				
			|||||||
    return function () {
 | 
					    return function () {
 | 
				
			||||||
        const local_id_increment = 0.01;
 | 
					        const local_id_increment = 0.01;
 | 
				
			||||||
        let latest = page_params.max_message_id;
 | 
					        let latest = page_params.max_message_id;
 | 
				
			||||||
        if (typeof message_list.all !== "undefined" && message_list.all.last() !== undefined) {
 | 
					        if (message_list.all.last() !== undefined) {
 | 
				
			||||||
            latest = message_list.all.last().id;
 | 
					            latest = message_list.all.last().id;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        latest = Math.max(0, latest);
 | 
					        latest = Math.max(0, latest);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -120,7 +120,7 @@ export const localstorage = function () {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        set(name, data) {
 | 
					        set(name, data) {
 | 
				
			||||||
            if (typeof _data.VERSION !== "undefined") {
 | 
					            if (_data.VERSION !== undefined) {
 | 
				
			||||||
                ls.setData(_data.VERSION, name, data, _data.expires);
 | 
					                ls.setData(_data.VERSION, name, data, _data.expires);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // if the expires attribute was not set as a global, then
 | 
					                // if the expires attribute was not set as a global, then
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -122,11 +122,8 @@ function do_revoke_invite() {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function set_up(initialize_event_handlers) {
 | 
					export function set_up(initialize_event_handlers = true) {
 | 
				
			||||||
    meta.loaded = true;
 | 
					    meta.loaded = true;
 | 
				
			||||||
    if (typeof initialize_event_handlers === "undefined") {
 | 
					 | 
				
			||||||
        initialize_event_handlers = true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // create loading indicators
 | 
					    // create loading indicators
 | 
				
			||||||
    loading.make_indicator($("#admin_page_invites_loading_indicator"));
 | 
					    loading.make_indicator($("#admin_page_invites_loading_indicator"));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -64,12 +64,10 @@ $(() => {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (typeof $ !== "undefined") {
 | 
					    $.fn.expectOne = function () {
 | 
				
			||||||
        $.fn.expectOne = function () {
 | 
					        if (blueslip && this.length !== 1) {
 | 
				
			||||||
            if (blueslip && this.length !== 1) {
 | 
					            blueslip.error("Expected one element in jQuery set, " + this.length + " found");
 | 
				
			||||||
                blueslip.error("Expected one element in jQuery set, " + this.length + " found");
 | 
					        }
 | 
				
			||||||
            }
 | 
					        return this;
 | 
				
			||||||
            return this;
 | 
					    };
 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -679,7 +679,7 @@ export function maybe_get_stream_name(stream_id) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
export function is_user_subscribed(stream_id, user_id) {
 | 
					export function is_user_subscribed(stream_id, user_id) {
 | 
				
			||||||
    const sub = get_sub_by_id(stream_id);
 | 
					    const sub = get_sub_by_id(stream_id);
 | 
				
			||||||
    if (typeof sub === "undefined" || !sub.can_access_subscribers) {
 | 
					    if (sub === undefined || !sub.can_access_subscribers) {
 | 
				
			||||||
        // If we don't know about the stream, or we ourselves cannot access subscriber list,
 | 
					        // If we don't know about the stream, or we ourselves cannot access subscriber list,
 | 
				
			||||||
        // so we return undefined (treated as falsy if not explicitly handled).
 | 
					        // so we return undefined (treated as falsy if not explicitly handled).
 | 
				
			||||||
        blueslip.warn(
 | 
					        blueslip.warn(
 | 
				
			||||||
@@ -687,7 +687,7 @@ export function is_user_subscribed(stream_id, user_id) {
 | 
				
			|||||||
        );
 | 
					        );
 | 
				
			||||||
        return undefined;
 | 
					        return undefined;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (typeof user_id === "undefined") {
 | 
					    if (user_id === undefined) {
 | 
				
			||||||
        blueslip.warn("Undefined user_id passed to function is_user_subscribed");
 | 
					        blueslip.warn("Undefined user_id passed to function is_user_subscribed");
 | 
				
			||||||
        return undefined;
 | 
					        return undefined;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -111,7 +111,7 @@ export function get_active_data() {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function get_hash_safe() {
 | 
					function get_hash_safe() {
 | 
				
			||||||
    if (typeof window !== "undefined" && typeof window.location.hash === "string") {
 | 
					    if (typeof window.location.hash === "string") {
 | 
				
			||||||
        return window.location.hash.slice(1);
 | 
					        return window.location.hash.slice(1);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -286,10 +286,7 @@ export const absolute_time = (function () {
 | 
				
			|||||||
        return str;
 | 
					        return str;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return function (timestamp, today) {
 | 
					    return function (timestamp, today = new Date()) {
 | 
				
			||||||
        if (typeof today === "undefined") {
 | 
					 | 
				
			||||||
            today = new Date();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        const date = new Date(timestamp);
 | 
					        const date = new Date(timestamp);
 | 
				
			||||||
        const is_older_year = today.getFullYear() - date.getFullYear() > 0;
 | 
					        const is_older_year = today.getFullYear() - date.getFullYear() > 0;
 | 
				
			||||||
        const H_24 = page_params.twenty_four_hour_time;
 | 
					        const H_24 = page_params.twenty_four_hour_time;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,14 +11,14 @@ export function change_tab_to(tabname) {
 | 
				
			|||||||
export function place_caret_at_end(el) {
 | 
					export function place_caret_at_end(el) {
 | 
				
			||||||
    el.focus();
 | 
					    el.focus();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (typeof window.getSelection !== "undefined" && typeof document.createRange !== "undefined") {
 | 
					    if (window.getSelection !== undefined && document.createRange !== undefined) {
 | 
				
			||||||
        const range = document.createRange();
 | 
					        const range = document.createRange();
 | 
				
			||||||
        range.selectNodeContents(el);
 | 
					        range.selectNodeContents(el);
 | 
				
			||||||
        range.collapse(false);
 | 
					        range.collapse(false);
 | 
				
			||||||
        const sel = window.getSelection();
 | 
					        const sel = window.getSelection();
 | 
				
			||||||
        sel.removeAllRanges();
 | 
					        sel.removeAllRanges();
 | 
				
			||||||
        sel.addRange(range);
 | 
					        sel.addRange(range);
 | 
				
			||||||
    } else if (typeof document.body.createTextRange !== "undefined") {
 | 
					    } else if (document.body.createTextRange !== undefined) {
 | 
				
			||||||
        const textRange = document.body.createTextRange();
 | 
					        const textRange = document.body.createTextRange();
 | 
				
			||||||
        textRange.moveToElementText(el);
 | 
					        textRange.moveToElementText(el);
 | 
				
			||||||
        textRange.collapse(false);
 | 
					        textRange.collapse(false);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user