You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
713 B
18 lines
713 B
2 years ago
|
var DESCRIPTORS = require('../internals/descriptors');
|
||
|
var hasOwn = require('../internals/has-own-property');
|
||
|
|
||
|
var FunctionPrototype = Function.prototype;
|
||
|
// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
|
||
|
var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
|
||
|
|
||
|
var EXISTS = hasOwn(FunctionPrototype, 'name');
|
||
|
// additional protection from minified / mangled / dropped function names
|
||
|
var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
|
||
|
var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
|
||
|
|
||
|
module.exports = {
|
||
|
EXISTS: EXISTS,
|
||
|
PROPER: PROPER,
|
||
|
CONFIGURABLE: CONFIGURABLE
|
||
|
};
|