aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/modules/es6.function.name.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-27 17:36:13 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-27 17:36:13 +0200
commit5f466137ad6ac596600e3ff53c9b786815398445 (patch)
treef914c221874f0b16bf3def7ac01d59d1a99a3b0b /node_modules/core-js/modules/es6.function.name.js
parentc9f5ac8e763eda19aa0564179300cfff76785435 (diff)
node_modules, clean up package.json
Diffstat (limited to 'node_modules/core-js/modules/es6.function.name.js')
-rw-r--r--node_modules/core-js/modules/es6.function.name.js25
1 files changed, 17 insertions, 8 deletions
diff --git a/node_modules/core-js/modules/es6.function.name.js b/node_modules/core-js/modules/es6.function.name.js
index 0f10fc11f..f824d86d2 100644
--- a/node_modules/core-js/modules/es6.function.name.js
+++ b/node_modules/core-js/modules/es6.function.name.js
@@ -1,16 +1,25 @@
-var setDesc = require('./$').setDesc
- , createDesc = require('./$.property-desc')
- , has = require('./$.has')
+var dP = require('./_object-dp').f
+ , 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') && setDesc(FProto, NAME, {
+NAME in FProto || require('./_descriptors') && dP(FProto, NAME, {
configurable: true,
get: function(){
- var match = ('' + this).match(nameRE)
- , name = match ? match[1] : '';
- has(this, NAME) || setDesc(this, NAME, createDesc(5, name));
- return name;
+ 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 '';
+ }
}
}); \ No newline at end of file