An ES6 spec-compliant Function.prototype.name
shim. Invoke its "shim" method to shim Function.prototype.name if it is unavailable.
Note: Function#name
requires a true ES5 environment - specifically, one with ES5 getters.
This package implements the es-shim API interface. It works in an ES5-supported environment and complies with the spec.
Most common usage:
var functionName = require('function.prototype.name');
var assert = require('assert');
assert.equal(functionName(function foo() {}), 'foo');
functionName.shim();
assert.equal(function foo() {}.name, 'foo');
Simply clone the repo, npm install
, and run npm test