mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 07:07:35 +01:00
add pickDeep utility function to pick nested properties from objects
This commit is contained in:
13
common/script/libs/pickDeep.js
Normal file
13
common/script/libs/pickDeep.js
Normal 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;
|
||||
};
|
||||
Reference in New Issue
Block a user