wallet-core/node_modules/core-js/modules/es6.function.name.js

25 lines
652 B
JavaScript
Raw Normal View History

2016-10-10 03:43:44 +02:00
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') && dP(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 '';
}
}
});