getName.js 429 B

1234567891011121314151617181920
  1. /*!
  2. * Chai - getName utility
  3. * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
  4. * MIT Licensed
  5. */
  6. /**
  7. * # getName(func)
  8. *
  9. * Gets the name of a function, in a cross-browser way.
  10. *
  11. * @param {Function} a function (usually a constructor)
  12. */
  13. module.exports = function (func) {
  14. if (func.name) return func.name;
  15. var match = /^\s?function ([^(]*)\(/.exec(func);
  16. return match && match[1] ? match[1] : "";
  17. };