var LazyWrapper = require('./_LazyWrapper'), | |
getData = require('./_getData'), | |
getFuncName = require('./_getFuncName'), | |
lodash = require('./wrapperLodash'); | |
/** | |
* Checks if `func` has a lazy counterpart. | |
* | |
* @private | |
* @param {Function} func The function to check. | |
* @returns {boolean} Returns `true` if `func` has a lazy counterpart, | |
* else `false`. | |
*/ | |
function isLaziable(func) { | |
var funcName = getFuncName(func), | |
other = lodash[funcName]; | |
if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { | |
return false; | |
} | |
if (func === other) { | |
return true; | |
} | |
var data = getData(other); | |
return !!data && func === data[0]; | |
} | |
module.exports = isLaziable; | |