summaryrefslogtreecommitdiff
path: root/node_modules/core-js/modules/es6.function.name.js
blob: 0f10fc11f5c5efa22b1425a30f4ea662c999e377 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var setDesc    = require('./$').setDesc
  , createDesc = require('./$.property-desc')
  , has        = require('./$.has')
  , FProto     = Function.prototype
  , nameRE     = /^\s*function ([^ (]*)/
  , NAME       = 'name';
// 19.2.4.2 name
NAME in FProto || require('./$.descriptors') && setDesc(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;
  }
});