/* */ 'use strict'; var $ = require("./$"), NAME = 'name', setDesc = $.setDesc, FunctionProto = Function.prototype; NAME in FunctionProto || $.FW && $.DESC && setDesc(FunctionProto, NAME, { configurable: true, get: function() { var match = String(this).match(/^\s*function ([^ (]*)/), name = match ? match[1] : ''; $.has(this, NAME) || setDesc(this, NAME, $.desc(5, name)); return name; }, set: function(value) { $.has(this, NAME) || setDesc(this, NAME, $.desc(0, value)); } });