Files
habitica/website/common/script/libs/pickDeep.js
Matteo Pagliazzi cca5b8492b fix exports
2019-10-01 17:53:48 +02:00

16 lines
475 B
JavaScript

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