Set a function’s name.
Arguments:
- fn
: the function
- name
: the new name
- loose
: Optional. If true, and the name fails to be set, do not throw. Default false.
Returns fn
.
```javascript 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'); ```