diff options
Diffstat (limited to 'node_modules/core-js/modules/es6.function.name.js')
-rw-r--r-- | node_modules/core-js/modules/es6.function.name.js | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/node_modules/core-js/modules/es6.function.name.js b/node_modules/core-js/modules/es6.function.name.js index f824d86d2..0f10fc11f 100644 --- a/node_modules/core-js/modules/es6.function.name.js +++ b/node_modules/core-js/modules/es6.function.name.js @@ -1,25 +1,16 @@ -var dP = require('./_object-dp').f - , createDesc = require('./_property-desc') - , has = require('./_has') +var setDesc = require('./$').setDesc + , createDesc = require('./$.property-desc') + , has = require('./$.has') , FProto = Function.prototype , nameRE = /^\s*function ([^ (]*)/ , NAME = 'name'; - -var isExtensible = Object.isExtensible || function(){ - return true; -}; - // 19.2.4.2 name -NAME in FProto || require('./_descriptors') && dP(FProto, NAME, { +NAME in FProto || require('./$.descriptors') && setDesc(FProto, NAME, { configurable: true, get: function(){ - try { - var that = this - , name = ('' + that).match(nameRE)[1]; - has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name)); - return name; - } catch(e){ - return ''; - } + var match = ('' + this).match(nameRE) + , name = match ? match[1] : ''; + has(this, NAME) || setDesc(this, NAME, createDesc(5, name)); + return name; } });
\ No newline at end of file |