21 lines
587 B
JavaScript
21 lines
587 B
JavaScript
var bindCallback = require('./bindCallback'),
|
|
keysIn = require('../object/keysIn');
|
|
|
|
/**
|
|
* Creates a function for `_.forIn` or `_.forInRight`.
|
|
*
|
|
* @private
|
|
* @param {Function} objectFunc The function to iterate over an object.
|
|
* @returns {Function} Returns the new each function.
|
|
*/
|
|
function createForIn(objectFunc) {
|
|
return function(object, iteratee, thisArg) {
|
|
if (typeof iteratee != 'function' || thisArg !== undefined) {
|
|
iteratee = bindCallback(iteratee, thisArg, 3);
|
|
}
|
|
return objectFunc(object, iteratee, keysIn);
|
|
};
|
|
}
|
|
|
|
module.exports = createForIn;
|