Sha256: 6b2cc0e1d379bded0238167030f9fb15b5cb2bc13cdfe33b3ada32277d1f371f

Contents?: true

Size: 916 Bytes

Versions: 61

Compression:

Stored size: 916 Bytes

Contents

'use strict';

var supportsDescriptors = require('define-properties').supportsDescriptors;
var functionsHaveNames = require('functions-have-names')();
var getPolyfill = require('./polyfill');
var defineProperty = Object.defineProperty;
var TypeErr = TypeError;

module.exports = function shimName() {
	var polyfill = getPolyfill();
	if (functionsHaveNames) {
		return polyfill;
	}
	if (!supportsDescriptors) {
		throw new TypeErr('Shimming Function.prototype.name support requires ES5 property descriptor support.');
	}
	var functionProto = Function.prototype;
	defineProperty(functionProto, 'name', {
		configurable: true,
		enumerable: false,
		get: function () {
			var name = polyfill.call(this);
			if (this !== functionProto) {
				defineProperty(this, 'name', {
					configurable: true,
					enumerable: false,
					value: name,
					writable: false
				});
			}
			return name;
		}
	});
	return polyfill;
};

Version data entries

61 entries across 61 versions & 3 rubygems

Version Path
immosquare-cleaner-0.1.68 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.67 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.66 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.65 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.64 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.63 node_modules/function.prototype.name/shim.js
rapid_stack-0.2.0 templates/frontend/node_modules/function.prototype.name/shim.js
rapid_stack-0.1.1 templates/FrontEnd/node_modules/function.prototype.name/shim.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.62 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.61 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.60 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.59 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.58 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.57 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.56 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.55 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.54 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.53 node_modules/function.prototype.name/shim.js
immosquare-cleaner-0.1.52 node_modules/function.prototype.name/shim.js