Skip to content

Commit e9d13c2

Browse files
authored
Merge pull request #31 from ProjectFrank/main
Fix bug where records with deletions are not handled
2 parents 8c7e82c + 3632023 commit e9d13c2

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
## Fixed
66

7+
- Fix issue (Fails with records with deleted keys)[https://github.com/lambdaisland/deep-diff2/issues/29]
8+
79
## Changed
810

911
# 2.3.127 (2022-07-01 / a8186a5)

deps.edn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{:paths ["resources" "src"]
2-
:deps {fipp {:mvn/version "0.6.26"}
2+
:deps {fipp/fipp {:mvn/version "0.6.26"}
33
org.clojure/core.rrb-vector {:mvn/version "0.1.2"}
44
lambdaisland/clj-diff {:mvn/version "1.3.67"}
55
mvxcvi/arrangement {:mvn/version "2.0.0"}}
@@ -13,7 +13,7 @@
1313
:chui
1414
{:extra-deps {lambdaisland/chui {:local/root "../chui"}
1515
thheller/shadow-cljs {:mvn/version "2.18.0"}
16-
garden {:mvn/version "1.3.10"}}
16+
garden/garden {:mvn/version "1.3.10"}}
1717
:extra-paths ["../chui/resources" "../chui/dev"]}
1818

1919
:test

src/lambdaisland/deep_diff2/diff_impl.cljc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
(fn [[m idx] k]
108108
[(cond-> m
109109
(contains? del idx)
110-
(assoc (->Deletion k) (exp k))
110+
(assoc (->Deletion k) (get exp k))
111111

112112
(not (contains? del idx))
113113
(assoc k (diff (get exp k) (get act k)))

test/lambdaisland/deep_diff2/diff_test.cljc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@
9696
(is (= {:a (diff/->Mismatch 1 2)}
9797
(diff/diff (map->ARecord {:a 1}) (map->ARecord {:a 2}))))
9898
(is (= {(diff/->Insertion :a) 1}
99-
(diff/diff (map->ARecord {}) (map->ARecord {:a 1}))))))
99+
(diff/diff (map->ARecord {}) (map->ARecord {:a 1}))))
100+
(is (= {(diff/->Deletion :a) 1}
101+
(diff/diff (map->ARecord {:a 1}) (map->ARecord {}))))))
100102

101103
(is (= [{:x (diff/->Mismatch 1 2)}]
102104
(diff/diff [{:x 1}] [{:x 2}])))

0 commit comments

Comments
 (0)