forked from lix-project/lix-website
.. | ||
.github | ||
.eslintrc | ||
CHANGELOG.md | ||
index.d.ts | ||
index.js | ||
LICENSE | ||
package.json | ||
README.md | ||
tsconfig.json |
set-function-name
Set a function’s name.
Arguments:
fn
: the functionname
: the new nameloose
: Optional. If true, and the name fails to be set, do not throw. Default false.
Returns fn
.
Usage
var setFunctionName = require('set-function-name');
var assert = require('assert');
const obj = {
concise() {},
arrow: () => {},
named: function named() {},
anon: function () {},
};
assert.equal(obj.concise.name, 'concise');
assert.equal(obj.arrow.name, 'arrow');
assert.equal(obj.named.name, 'named');
assert.equal(obj.anon.name, 'anon');
assert.equal(setFunctionName(obj.concise, 'brief'), obj.concise);
assert.equal(setFunctionName(obj.arrow, 'pointy'), obj.arrow);
assert.equal(setFunctionName(obj.named, ''), obj.named);
assert.equal(setFunctionName(obj.anon, 'anonymous'), obj.anon);
assert.equal(obj.concise.name, 'brief');
assert.equal(obj.arrow.name, 'pointy');
assert.equal(obj.named.name, '');
assert.equal(obj.anon.name, 'anonymous');