| 1234567891011121314151617181920212223242526272829 | "use strict";/** * Returns a display name for a function * * @param  {Function} func * @returns {string} */module.exports = function functionName(func) {    if (!func) {        return "";    }    try {        return (            func.displayName ||            func.name ||            // Use function decomposition as a last resort to get function            // name. Does not rely on function decomposition to work - if it            // doesn't debugging will be slightly less informative            // (i.e. toString will say 'spy' rather than 'myFunc').            (String(func).match(/function ([^\s(]+)/) || [])[1]        );    } catch (e) {        // Stringify may fail and we might get an exception, as a last-last        // resort fall back to empty string.        return "";    }};
 |