Urara-Blog/node_modules/.pnpm-store/v3/files/f1/6a88bc29c4b25618db4b9541a15b40b4e5c004d3d9405bdf6eb03d55f882dcc9cbbab1e4fc4ea39ad1bfa7ccae607f1b53e193a5bbde3f6ef4d89de4c653dd
2022-08-14 01:14:53 +08:00

31 lines
774 B
Text

'use strict';
var functionsHaveNames = function functionsHaveNames() {
return typeof function f() {}.name === 'string';
};
var gOPD = Object.getOwnPropertyDescriptor;
if (gOPD) {
try {
gOPD([], 'length');
} catch (e) {
// IE 8 has a broken gOPD
gOPD = null;
}
}
functionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {
if (!functionsHaveNames() || !gOPD) {
return false;
}
var desc = gOPD(function () {}, 'name');
return !!desc && !!desc.configurable;
};
var $bind = Function.prototype.bind;
functionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {
return functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== '';
};
module.exports = functionsHaveNames;