Skip to content

Commit f7fe707

Browse files
committed
#47: varying key order in maps should produce consistent diffs
1 parent 322a023 commit f7fe707

1 file changed

Lines changed: 4 additions & 6 deletions

File tree

src/lambdaisland/deep_diff2/diff_impl.cljc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,12 @@
114114
act-ks (set (keys act))]
115115
(reduce
116116
(fn [m k]
117-
(cond
118-
(and (contains? exp-ks k) (not (contains? act-ks k)))
117+
(case [(contains? exp-ks k) (contains? act-ks k)]
118+
[true false]
119119
(assoc m (->Deletion k) (get exp k))
120-
121-
(and (contains? act-ks k) (not (contains? exp-ks k)))
120+
[false true]
122121
(assoc m (->Insertion k) (get act k))
123-
124-
(and (contains? act-ks k) (contains? exp-ks k))
122+
[true true]
125123
(assoc m k (diff (get exp k) (get act k)))))
126124
{}
127125
(set/union exp-ks act-ks))))

0 commit comments

Comments
 (0)