UNPKG

648 BJavaScriptView Raw
1/**
2 * Creates a base function for methods like `_.forIn` and `_.forOwn`.
3 *
4 * @private
5 * @param {boolean} [fromRight] Specify iterating from right to left.
6 * @returns {Function} Returns the new base function.
7 */
8function createBaseFor(fromRight) {
9 return function(object, iteratee, keysFunc) {
10 var index = -1,
11 iterable = Object(object),
12 props = keysFunc(object),
13 length = props.length;
14
15 while (length--) {
16 var key = props[fromRight ? length : ++index];
17 if (iteratee(iterable[key], key, iterable) === false) {
18 break;
19 }
20 }
21 return object;
22 };
23}
24
25module.exports = createBaseFor;