UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

30 lines (29 loc) 1.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const baseGet_1 = __importDefault(require("./baseGet")); const baseSet_1 = __importDefault(require("./baseSet")); const castPath_1 = __importDefault(require("./castPath")); const flatten_1 = __importDefault(require("../flatten")); /** * The base implementation of `pickBy`. * * @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 = () => true) { const result = {}; (0, flatten_1.default)(paths).forEach(path => { const value = (0, baseGet_1.default)(object, path); if (predicate(value, path)) { (0, baseSet_1.default)(result, (0, castPath_1.default)(path, object), value); } }); return result; } exports.default = basePickBy;