| 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; |