From 5f466137ad6ac596600e3ff53c9b786815398445 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 27 May 2017 17:36:13 +0200 Subject: node_modules, clean up package.json --- node_modules/core-js/modules/es6.function.name.js | 25 +++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'node_modules/core-js/modules/es6.function.name.js') 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 -- cgit v1.2.3