function unregister()

in ArticleTemplates/assets/js/modules/messenger.js [45:69]


function unregister(type, callback) {
    if (listeners[type] === undefined) {
        throw new Error(formatError(error405, type));
    }

    if (callback === undefined) {
        registeredListeners -= listeners[type].length;
        listeners[type].length = 0;
    } else {
        if (listeners[type] === callback) {
            listeners[type] = null;
            registeredListeners -= 1;
        } else {
            let idx = listeners[type].indexOf(callback);
            if (idx > -1) {
                registeredListeners -= 1;
                listeners[type].splice(idx, 1);
            }
        }
    }

    if (registeredListeners === 0) {
        off(window);
    }
}