/** Used for built-in method references. */ var funcProto = Function.prototype;

/** Used to resolve the decompiled source of functions. */ var funcToString = funcProto.toString;

/**

* Converts `func` to its source code.
*
* @private
* @param {Function} func The function to convert.
* @returns {string} Returns the source code.
*/

function toSource(func) {

if (func != null) {
  try {
    return funcToString.call(func);
  } catch (e) {}
  try {
    return (func + '');
  } catch (e) {}
}
return '';

}

module.exports = toSource;