From 41c7dff0e81ccdad8a6ab80322e0f323eb9ac6c1 Mon Sep 17 00:00:00 2001 From: Philip Giuliani Date: Wed, 30 May 2018 16:59:11 +0200 Subject: Add getDeep method to utils --- src/js/utils.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/js/utils.js') diff --git a/src/js/utils.js b/src/js/utils.js index 0334879d..e04d56e4 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -728,6 +728,11 @@ const utils = { return JSON.parse(JSON.stringify(object)); }, + // Get a nested value in an object + getDeep(object, value) { + return value.split('.').reduce((obj, key) => obj[key] || {}, object); + }, + // Get the closest value in an array closest(array, value) { if (!utils.is.array(array) || !array.length) { -- cgit v1.2.3 From 6435ced70710fd04f3e4a14d9150c529b3ebedc5 Mon Sep 17 00:00:00 2001 From: Philip Giuliani Date: Wed, 30 May 2018 17:10:38 +0200 Subject: Return undefined when the key is not present. --- src/js/utils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/js/utils.js') diff --git a/src/js/utils.js b/src/js/utils.js index e04d56e4..ea2dc72d 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -729,8 +729,8 @@ const utils = { }, // Get a nested value in an object - getDeep(object, value) { - return value.split('.').reduce((obj, key) => obj[key] || {}, object); + getDeep(object, path) { + return path.split('.').reduce((obj, key) => (obj && obj[key]) || undefined, object); }, // Get the closest value in an array -- cgit v1.2.3 From a8fa125a96def9f7b41796375c11e2e1e753d28f Mon Sep 17 00:00:00 2001 From: Philip Giuliani Date: Wed, 30 May 2018 17:30:10 +0200 Subject: Refactor getDeep method --- src/js/utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/js/utils.js') diff --git a/src/js/utils.js b/src/js/utils.js index ea2dc72d..b6ba0941 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -730,7 +730,7 @@ const utils = { // Get a nested value in an object getDeep(object, path) { - return path.split('.').reduce((obj, key) => (obj && obj[key]) || undefined, object); + return path.split('.').reduce((obj, key) => obj && obj[key], object); }, // Get the closest value in an array -- cgit v1.2.3