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.
17 lines
713 B
17 lines
713 B
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 |
|
};
|
|
|