Skip to content

Commit 7b9c2d4

Browse files
committed
added deepExists util
1 parent 57df078 commit 7b9c2d4

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

lib/utils/index.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,30 @@ export function deepGet(object, path, joiner = '/') {
3636
return tmp;
3737
}
3838

39+
/**
40+
* Deep check if a key exists.
41+
* @website https://github.com/Salakar/deeps
42+
* @param object
43+
* @param path
44+
* @param joiner
45+
* @returns {*}
46+
*/
47+
export function deepExists(object, path, joiner = '/') {
48+
const keys = path.split(joiner);
49+
50+
let i = 0;
51+
let tmp = object;
52+
const len = keys.length;
53+
54+
while (i < len) {
55+
const key = keys[i += 1];
56+
if (!tmp || !hasOwnProperty.call(tmp, key)) return false;
57+
tmp = tmp[key];
58+
}
59+
60+
return tmp !== undefined;
61+
}
62+
3963
/**
4064
* Simple is object check.
4165
* @param item

0 commit comments

Comments
 (0)