add pickDeep utility function to pick nested properties from objects

This commit is contained in:
Matteo Pagliazzi
2016-03-20 13:07:14 +01:00
parent 957e1d26d6
commit 71f304786c
4 changed files with 51 additions and 2 deletions

View File

@@ -0,0 +1,13 @@
// An utility to pick deep properties from an object.
// Works like _.pick but supports nested props (ie pickDeep(obj, ['deep.property']))
import _ from 'lodash';
module.exports = function pickDeep (obj, properties) {
if (!_.isArray(properties)) throw new Error('"properties" must be an array');
let result = {};
_.each(properties, (prop) => _.set(result, prop, _.get(obj, prop)));
return result;
};