Skip to content

Commit 10d76ad

Browse files
committed
Solving errors
1 parent 4770c03 commit 10d76ad

File tree

4 files changed

+51
-40
lines changed

4 files changed

+51
-40
lines changed

deps.edn

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
{:paths ["resources" "src" "test"]
22
:deps {org.clojure/clojure {:mvn/version "1.10.0"}
33
;;mvxcvi/puget {:mvn/version "1.1.2"}
4-
github-lambdaisland/puget
5-
{:git/url "https://github.com/lambdaisland/puget"
6-
:sha "ea860be1f0c6a5e406c45a414802c41e902d010c"}
4+
github-lambdaisland/puget {:git/url "https://github.com/lambdaisland/puget"
5+
:sha "ea860be1f0c6a5e406c45a414802c41e902d010c"}
76
fipp {:mvn/version "0.6.17"}
87
org.clojure/core.rrb-vector {:mvn/version "0.0.14"}
98
;;tech.droit/clj-diff {:mvn/version "1.0.1"}
109
org.clojars.rymndhng/clj-diff {:mvn/version "1.1.1-SNAPSHOT"}
1110
mvxcvi/arrangement {:mvn/version "1.2.0"}
1211
com.andrewmcveigh/cljs-time {:mvn/version "0.5.2"}}
1312

14-
:aliases
15-
{:cljs
16-
{:extra-deps {org.clojure/clojurescript {:mvn/version "1.10.597"}}}
13+
:aliases {:cljs
14+
{:extra-deps {org.clojure/clojurescript {:mvn/version "1.10.597"}}}
1715

18-
:dev
19-
{}
16+
:dev
17+
{}
2018

21-
:test
22-
{:extra-deps {lambdaisland/kaocha {:mvn/version "0.0-581"}
23-
lambdaisland/kaocha-cljs {:mvn/version "0.0-68"}
24-
org.clojure/test.check {:mvn/version "0.10.0-alpha4"}}}}}
19+
:test
20+
{:extra-deps {lambdaisland/kaocha {:mvn/version "RELEASE"}
21+
lambdaisland/kaocha-cljs {:mvn/version "RELEASE"}
22+
org.clojure/test.check {:mvn/version "0.10.0-alpha4"}}}}}

src/lambdaisland/deep_diff/diff.cljc

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,11 @@
9797
(diff-seq-insertions ins)
9898
(into []))))
9999

100-
(defn- val-type [val]
100+
#?(:clj (defn- val-type [val]
101101
(let [t (type val)]
102102
(if (class? t)
103103
(symbol (.getName ^Class t))
104-
t)))
104+
t))))
105105

106106
(defn- diff-map [exp act]
107107
(first
@@ -136,41 +136,56 @@
136136
(diff-similar exp act)
137137
(diff-atom exp act)))
138138

139-
(extend nil
140-
Diff
141-
{:diff-similar diff-atom})
142-
143-
(extend Object
144-
Diff
145-
{:diff-similar (fn [exp act]
146-
(if (.isArray (.getClass ^Object exp))
147-
(diff-seq exp act)
148-
(diff-atom exp act)))})
139+
#?(:clj (extend nil
140+
Diff
141+
{:diff-similar diff-atom})
142+
:cljs (extend-type nil ;; I am not pretty sure about this. Lets wait for unit tests
143+
Diff
144+
{:diff-similar diff-atom}))
145+
146+
#?(:clj (extend Object
147+
Diff
148+
{:diff-similar (fn [exp act]
149+
(if (.isArray (.getClass ^Object exp))
150+
(diff-seq exp act)
151+
(diff-atom exp act)))})
152+
:cljs (extend-type object
153+
Diff
154+
{:diff-similar (fn [exp act]
155+
(if (array? exp)
156+
(diff-seq exp act)
157+
(diff-atom exp act)))}))
149158

150159
(extend-protocol Diff
151-
java.util.List
160+
#?(:clj java.util.List
161+
:cljs cljs.core.list)
152162
(diff-similar [exp act] (diff-seq exp act))
153163

154-
java.util.Set
164+
#?(:clj java.util.Set
165+
:cljs cljs.core.set)
155166
(diff-similar [exp act]
156167
(let [exp-seq (seq exp)
157168
act-seq (seq act)]
158169
(set (diff-seq exp-seq (concat (filter act exp-seq)
159170
(remove exp act-seq))))))
160171

161-
java.util.Map
172+
#?(:clj java.util.Map
173+
:cljs cljs.core.map)
162174
(diff-similar [exp act] (diff-map exp act)))
163175

164176
(extend-protocol Undiff
165-
java.util.List
177+
#?(:clj java.util.List
178+
:cljs cljs.core.list)
166179
(left-undiff [s] (map left-undiff (remove #(instance? Insertion %) s)))
167180
(right-undiff [s] (map right-undiff (remove #(instance? Deletion %) s)))
168181

169-
java.util.Set
182+
#?(:clj java.util.Set
183+
:cljs cljs.core.set)
170184
(left-undiff [s] (set (left-undiff (seq s))))
171185
(right-undiff [s] (set (right-undiff (seq s))))
172186

173-
java.util.Map
187+
#?(:clj java.util.Map
188+
:cljs cljs.core.map)
174189
(left-undiff [m]
175190
(into {}
176191
(comp (remove #(instance? Insertion (key %)))
@@ -192,5 +207,8 @@
192207
Deletion
193208
(left-undiff [m] (get m :-)))
194209

195-
(extend nil Undiff {:left-undiff identity :right-undiff identity})
196-
(extend Object Undiff {:left-undiff identity :right-undiff identity})
210+
#?(:clj (extend nil Undiff {:left-undiff identity :right-undiff identity})
211+
:cljs (extend-type nil Undiff {:left-undiff identity :right-undiff identity}))
212+
213+
$?(:clj (extend Object Undiff {:left-undiff identity :right-undiff identity})
214+
:cljs (extend-type object Undiff {:left-undiff identity :right-undiff identity}))

src/lambdaisland/deep_diff/printer.cljc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@
5959
(def ^:private ^ThreadLocal thread-local-utc-timestamp-format
6060
(proxy [ThreadLocal] []
6161
(initialValue []
62-
;; (doto (SimpleDateFormat. "yyyy-MM-dd'T'HH:mm:ss")
63-
;; (.setTimeZone (TimeZone/getTimeZone "GMT"))))))
6462
#?(:clj (doto (SimpleDateFormat. "yyyy-MM-dd'T'HH:mm:ss")
6563
(.setTimeZone (TimeZone/getTimeZone "GMT")))
6664
:cljs (doto (cljs-time.format/formatter "yyyy-MM-dd'T'HH:mm:ss"))))))
@@ -138,7 +136,7 @@
138136

139137
#?(:clj 'java.util.UUID
140138
:cljs 'cljs.core.uuid)
141-
(tagged-handler 'uuid str)}
139+
(tagged-handler 'uuid str)})
142140

143141
(defn- print-handler-resolver [extra-handlers]
144142
(fn [^Class klz]

tests.edn

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
#kaocha/v1
2-
{:tests [{:id :unit
3-
:test-paths ["test"]
4-
:source-paths ["src"]}
2+
{:tests [{:id :clj}
53
{:id :cljs
6-
:type :kaocha.type/cljs
7-
:test-paths ["test"]}]}
4+
:type :kaocha.type/cljs}]}

0 commit comments

Comments
 (0)