Skip to content

Commit 1088a05

Browse files
Use isDefined helper
1 parent f31a2e0 commit 1088a05

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

debug/diff.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import filter from "../object/filter.js";
22
import none from "../object/none.js";
33

4+
import isDefined from "../is/defined.js";
45
import isArray from "../is/array.js";
56
import isDate from "../is/date.js";
67
import isFunction from "../is/function.js";
@@ -26,11 +27,11 @@ const compareValues = (value1, value2) => {
2627
return VALUE_UNCHANGED;
2728
}
2829

29-
if ("undefined" == typeof value1) {
30+
if (!isDefined(value1)) {
3031
return VALUE_CREATED;
3132
}
3233

33-
if ("undefined" == typeof value2) {
34+
if (!isDefined(value2)) {
3435
return VALUE_DELETED;
3536
}
3637

@@ -53,29 +54,31 @@ const diff = (obj1, obj2) => {
5354
}
5455

5556
const result = {};
57+
5658
for (const key in obj1) {
5759
if (isFunction(obj1[key])) {
5860
continue;
5961
}
6062

6163
let value2 = undefined;
62-
if ("undefined" != typeof obj2[key]) {
64+
65+
if (isDefined(obj2[key])) {
6366
value2 = obj2[key];
6467
}
6568

6669
result[key] = diff(obj1[key], value2);
6770
}
71+
6872
for (const key in obj2) {
69-
if (isFunction(obj2[key]) || "undefined" != typeof result[key]) {
73+
if (isFunction(obj2[key]) || isDefined(result[key])) {
7074
continue;
7175
}
7276

7377
result[key] = diff(undefined, obj2[key]);
7478
}
7579

7680
return filter(
77-
value =>
78-
value !== null && !(value && "object" === typeof value && none(value))
81+
value => value !== null && !(value && isObject(value) && none(value))
7982
)(result);
8083
};
8184

0 commit comments

Comments
 (0)