@kizmann/pico-js 0.3.33 → 0.3.34
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/pico-js.js +1 -1
- package/dist/pico-js.js.map +1 -1
- package/package.json +1 -1
- package/src/utility/object.js +30 -2
package/package.json
CHANGED
package/src/utility/object.js
CHANGED
@@ -3,9 +3,37 @@ import Any from "./any";
|
|
3
3
|
|
4
4
|
export class Obj
|
5
5
|
{
|
6
|
-
static has(obj,
|
6
|
+
static has(obj, keys)
|
7
7
|
{
|
8
|
-
|
8
|
+
if ( obj === null || obj === undefined ) {
|
9
|
+
return false;
|
10
|
+
}
|
11
|
+
|
12
|
+
if ( keys === null || keys === undefined ) {
|
13
|
+
return false;
|
14
|
+
}
|
15
|
+
|
16
|
+
if ( Any.isArray(keys) ) {
|
17
|
+
keys = keys.join('.');
|
18
|
+
}
|
19
|
+
|
20
|
+
if ( ! Any.isString(keys) ) {
|
21
|
+
keys = keys.toString();
|
22
|
+
}
|
23
|
+
|
24
|
+
keys = keys.split('.');
|
25
|
+
|
26
|
+
let lst = keys.pop(), index = 0, length = keys.length;
|
27
|
+
|
28
|
+
while (obj !== undefined && obj !== null && index < length) {
|
29
|
+
obj = obj[keys[index++]];
|
30
|
+
}
|
31
|
+
|
32
|
+
if ( obj === undefined || obj === null) {
|
33
|
+
return false;
|
34
|
+
}
|
35
|
+
|
36
|
+
return obj[lst] !== undefined;
|
9
37
|
}
|
10
38
|
|
11
39
|
static empty(obj, key)
|