UNPKG

756 BJavaScriptView Raw
1var realNames = require('./_realNames');
2
3/** Used for built-in method references. */
4var objectProto = Object.prototype;
5
6/** Used to check objects for own properties. */
7var hasOwnProperty = objectProto.hasOwnProperty;
8
9/**
10 * Gets the name of `func`.
11 *
12 * @private
13 * @param {Function} func The function to query.
14 * @returns {string} Returns the function name.
15 */
16function getFuncName(func) {
17 var result = (func.name + ''),
18 array = realNames[result],
19 length = hasOwnProperty.call(realNames, result) ? array.length : 0;
20
21 while (length--) {
22 var data = array[length],
23 otherFunc = data.func;
24 if (otherFunc == null || otherFunc == func) {
25 return data.name;
26 }
27 }
28 return result;
29}
30
31module.exports = getFuncName;