You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
432 B
20 lines
432 B
4 years ago
|
'use strict';
|
||
|
|
||
|
/**
|
||
|
* Get value of a nested property
|
||
|
*
|
||
|
* @param mainObject
|
||
|
* @param key
|
||
|
* @returns {*}
|
||
|
*/
|
||
|
|
||
|
module.exports = function nestedValue(mainObject, key) {
|
||
|
try {
|
||
|
return key.split('.').reduce(function (obj, property) {
|
||
|
return obj[property];
|
||
|
}, mainObject);
|
||
|
} catch (err) {
|
||
|
// If we end up here, we're not working with an object, and @var mainObject is the value itself
|
||
|
return mainObject;
|
||
|
}
|
||
|
};
|