| 12345678910111213141516171819202122232425262728293031 | 
							- 'use strict';
 
- var functionsHaveNames = function functionsHaveNames() {
 
- 	return typeof function f() {}.name === 'string';
 
- };
 
- var gOPD = Object.getOwnPropertyDescriptor;
 
- if (gOPD) {
 
- 	try {
 
- 		gOPD([], 'length');
 
- 	} catch (e) {
 
- 		// IE 8 has a broken gOPD
 
- 		gOPD = null;
 
- 	}
 
- }
 
- functionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {
 
- 	if (!functionsHaveNames() || !gOPD) {
 
- 		return false;
 
- 	}
 
- 	var desc = gOPD(function () {}, 'name');
 
- 	return !!desc && !!desc.configurable;
 
- };
 
- var $bind = Function.prototype.bind;
 
- functionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {
 
- 	return functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== '';
 
- };
 
- module.exports = functionsHaveNames;
 
 
  |