|  | var baseGet = require('./_baseGet'), | 
|  | baseSet = require('./_baseSet'), | 
|  | castPath = require('./_castPath'); | 
|  |  | 
|  | /** | 
|  | * The base implementation of  `_.pickBy` without support for iteratee shorthands. | 
|  | * | 
|  | * @private | 
|  | * @param {Object} object The source object. | 
|  | * @param {string[]} paths The property paths to pick. | 
|  | * @param {Function} predicate The function invoked per property. | 
|  | * @returns {Object} Returns the new object. | 
|  | */ | 
|  | function basePickBy(object, paths, predicate) { | 
|  | var index = -1, | 
|  | length = paths.length, | 
|  | result = {}; | 
|  |  | 
|  | while (++index < length) { | 
|  | var path = paths[index], | 
|  | value = baseGet(object, path); | 
|  |  | 
|  | if (predicate(value, path)) { | 
|  | baseSet(result, castPath(path, object), value); | 
|  | } | 
|  | } | 
|  | return result; | 
|  | } | 
|  |  | 
|  | module.exports = basePickBy; |