Spaces:
Sleeping
Sleeping
| ; | |
| var functionName = require("./function-name"); | |
| /** | |
| * Returns a display name for a value from a constructor | |
| * | |
| * @param {object} value A value to examine | |
| * @returns {(string|null)} A string or null | |
| */ | |
| function className(value) { | |
| return ( | |
| (value.constructor && value.constructor.name) || | |
| // The next branch is for IE11 support only: | |
| // Because the name property is not set on the prototype | |
| // of the Function object, we finally try to grab the | |
| // name from its definition. This will never be reached | |
| // in node, so we are not able to test this properly. | |
| // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name | |
| (typeof value.constructor === "function" && | |
| /* istanbul ignore next */ | |
| functionName(value.constructor)) || | |
| null | |
| ); | |
| } | |
| module.exports = className; | |