feat: supporting 3-arity clojure.data.json/write in newer versions
Starting at 2.0.0, clojure.data.json implements the additional parameter `options` in `write` and other functions. The multi-arity was used in protocol extension to support older and newer versions.
This commit is contained in:
parent
84170f7c51
commit
5852a5fe14
2 changed files with 11 additions and 5 deletions
|
|
@ -36,7 +36,7 @@
|
|||
:dev {:resource-paths ["test/resources"]
|
||||
:dependencies [[clj-time "0.15.1" :exclusions [org.clojure/clojure]]
|
||||
[cheshire "5.8.1" :exclusions [org.clojure/clojure]]
|
||||
[org.clojure/data.json "0.2.6" :exclusions [org.clojure/clojure]]
|
||||
[org.clojure/data.json "2.5.0" :exclusions [org.clojure/clojure]]
|
||||
[org.clojure/tools.cli "0.4.1" :exclusions [org.clojure/clojure]]
|
||||
[org.clojure/core.cache "0.7.1" :exclusions [org.clojure/clojure]]
|
||||
[ring/ring-core "1.7.1" :exclusions [org.clojure/clojure]]
|
||||
|
|
|
|||
|
|
@ -70,13 +70,19 @@
|
|||
(try
|
||||
(extend-protocol clojure.data.json/JSONWriter
|
||||
ObjectId
|
||||
(-write [^ObjectId object out]
|
||||
(clojure.data.json/write (.toString object) out)))
|
||||
(-write
|
||||
([^ObjectId object out]
|
||||
(clojure.data.json/write (.toString object) out))
|
||||
([^ObjectId object out options]
|
||||
(clojure.data.json/write (.toString object) out options))))
|
||||
|
||||
(extend-protocol clojure.data.json/JSONWriter
|
||||
BSONTimestamp
|
||||
(-write [^BSONTimestamp object out]
|
||||
(clojure.data.json/write {:time (.getTime object) :inc (.getInc object)} out)))
|
||||
(-write
|
||||
([^BSONTimestamp object out]
|
||||
(clojure.data.json/write {:time (.getTime object) :inc (.getInc object)} out))
|
||||
([^BSONTimestamp object out options]
|
||||
(clojure.data.json/write {:time (.getTime object) :inc (.getInc object)} out options))))
|
||||
|
||||
(catch Throwable _
|
||||
false))
|
||||
|
|
|
|||
Loading…
Reference in a new issue