Sha256: 46fcd14f40c8c53b75ce22423c9512c4722eba188033cf4c1cfb727b878093a2

Contents?: true

Size: 623 Bytes

Versions: 26

Compression:

Stored size: 623 Bytes

Contents

'use strict';

var define = require('define-data-property');
var hasDescriptors = require('has-property-descriptors')();
var functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames();

var $TypeError = TypeError;

module.exports = function setFunctionName(fn, name) {
	if (typeof fn !== 'function') {
		throw new $TypeError('`fn` is not a function');
	}
	var loose = arguments.length > 2 && !!arguments[2];
	if (!loose || functionsHaveConfigurableNames) {
		if (hasDescriptors) {
			define(fn, 'name', name, true, true);
		} else {
			define(fn, 'name', name);
		}
	}
	return fn;
};

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
immosquare-cleaner-0.1.11 node_modules/set-function-name/index.js
immosquare-cleaner-0.1.10 node_modules/set-function-name/index.js
immosquare-cleaner-0.1.9 node_modules/set-function-name/index.js
immosquare-cleaner-0.1.8 node_modules/set-function-name/index.js
immosquare-cleaner-0.1.7 node_modules/set-function-name/index.js
immosquare-cleaner-0.1.6 node_modules/set-function-name/index.js