minor
This commit is contained in:
parent
0f31e57977
commit
de4c3610c9
5 changed files with 44 additions and 24 deletions
|
|
@ -15,11 +15,17 @@
|
||||||
([pod-id-or-pod sym args] (invoke pod-id-or-pod sym args {}))
|
([pod-id-or-pod sym args] (invoke pod-id-or-pod sym args {}))
|
||||||
([pod-id-or-pod sym args opts] (jvm/invoke pod-id-or-pod sym args opts)))
|
([pod-id-or-pod sym args opts] (jvm/invoke pod-id-or-pod sym args opts)))
|
||||||
|
|
||||||
(defn add-transit-read-handler! [tag fn]
|
(defmacro copy-var [name var]
|
||||||
(jvm/add-transit-read-handler! tag fn))
|
`(do (def ~name ~var)
|
||||||
|
(let [m# (meta (var ~var))
|
||||||
|
doc# (:doc m#)
|
||||||
|
arglists# (:arglists m#)]
|
||||||
|
(alter-meta! (var ~name) assoc
|
||||||
|
:arglists arglists#
|
||||||
|
:doc doc#))))
|
||||||
|
|
||||||
(defn add-transit-write-handler! [tag fn classes]
|
#_:clj-kondo/ignore
|
||||||
(jvm/add-transit-write-handler! tag fn classes))
|
(do
|
||||||
|
(copy-var add-transit-read-handler! jvm/add-transit-read-handler!)
|
||||||
(defn set-default-transit-write-handler! [tag-fn val-fn]
|
(copy-var add-transit-write-handler! jvm/add-transit-write-handler!)
|
||||||
(jvm/set-default-transit-write-handler! tag-fn val-fn))
|
(copy-var set-default-transit-write-handler! jvm/set-default-transit-write-handler!))
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,8 @@
|
||||||
(transit/write-handler-map (get @transit-write-handlers *pod-id*))))
|
(transit/write-handler-map (get @transit-write-handlers *pod-id*))))
|
||||||
|
|
||||||
;; https://www.cognitect.com/blog/2015/9/10/extending-transit
|
;; https://www.cognitect.com/blog/2015/9/10/extending-transit
|
||||||
(defn add-transit-write-handler! [tag fn classes]
|
(defn add-transit-write-handler!
|
||||||
|
[classes tag fn]
|
||||||
(let [rh (transit/write-handler tag fn)]
|
(let [rh (transit/write-handler tag fn)]
|
||||||
(doseq [class classes]
|
(doseq [class classes]
|
||||||
(swap! transit-write-handlers assoc-in [*pod-id* class] rh)))
|
(swap! transit-write-handlers assoc-in [*pod-id* class] rh)))
|
||||||
|
|
|
||||||
|
|
@ -71,11 +71,17 @@
|
||||||
([pod-id sym args] (invoke pod-id sym args {}))
|
([pod-id sym args] (invoke pod-id sym args {}))
|
||||||
([pod-id sym args opts] (impl/invoke-public pod-id sym args opts)))
|
([pod-id sym args opts] (impl/invoke-public pod-id sym args opts)))
|
||||||
|
|
||||||
(defn add-transit-read-handler! [tag fn]
|
(defmacro copy-var [name var]
|
||||||
(impl/add-transit-read-handler! tag fn))
|
`(do (def ~name ~var)
|
||||||
|
(let [m# (meta (var ~var))
|
||||||
|
doc# (:doc m#)
|
||||||
|
arglists# (:arglists m#)]
|
||||||
|
(alter-meta! (var ~name) assoc
|
||||||
|
:arglists arglists#
|
||||||
|
:doc doc#))))
|
||||||
|
|
||||||
(defn add-transit-write-handler! [tag fn classes]
|
#_:clj-kondo/ignore
|
||||||
(impl/add-transit-write-handler! tag fn classes))
|
(do
|
||||||
|
(copy-var add-transit-read-handler! impl/add-transit-read-handler!)
|
||||||
(defn set-default-transit-write-handler! [tag-fn val-fn]
|
(copy-var add-transit-write-handler! impl/add-transit-write-handler!)
|
||||||
(impl/set-default-transit-write-handler! tag-fn val-fn))
|
(copy-var set-default-transit-write-handler! impl/set-default-transit-write-handler!))
|
||||||
|
|
|
||||||
|
|
@ -81,11 +81,17 @@
|
||||||
([pod-id sym args] (invoke pod-id sym args {}))
|
([pod-id sym args] (invoke pod-id sym args {}))
|
||||||
([pod-id sym args opts] (impl/invoke-public pod-id sym args opts)))
|
([pod-id sym args opts] (impl/invoke-public pod-id sym args opts)))
|
||||||
|
|
||||||
(defn add-transit-read-handler! [tag fn]
|
(defmacro copy-var [name var]
|
||||||
(impl/add-transit-read-handler! tag fn))
|
`(do (def ~name ~var)
|
||||||
|
(let [m# (meta (var ~var))
|
||||||
|
doc# (:doc m#)
|
||||||
|
arglists# (:arglists m#)]
|
||||||
|
(alter-meta! (var ~name) assoc
|
||||||
|
:arglists arglists#
|
||||||
|
:doc doc#))))
|
||||||
|
|
||||||
(defn add-transit-write-handler! [tag fn classes]
|
#_:clj-kondo/ignore
|
||||||
(impl/add-transit-write-handler! tag fn classes))
|
(do
|
||||||
|
(copy-var add-transit-read-handler! impl/add-transit-read-handler!)
|
||||||
(defn set-default-transit-write-handler! [tag-fn val-fn]
|
(copy-var add-transit-write-handler! impl/add-transit-write-handler!)
|
||||||
(impl/set-default-transit-write-handler! tag-fn val-fn))
|
(copy-var set-default-transit-write-handler! impl/set-default-transit-write-handler!))
|
||||||
|
|
|
||||||
|
|
@ -134,8 +134,9 @@
|
||||||
(babashka.pods/add-transit-read-handler! \"local-date-time\"
|
(babashka.pods/add-transit-read-handler! \"local-date-time\"
|
||||||
(fn [s] (java.time.LocalDateTime/parse s)))
|
(fn [s] (java.time.LocalDateTime/parse s)))
|
||||||
|
|
||||||
(babashka.pods/add-transit-write-handler! \"local-date-time\"
|
(babashka.pods/add-transit-write-handler! #{java.time.LocalDateTime}
|
||||||
str #{java.time.LocalDateTime})
|
\"local-date-time\"
|
||||||
|
str )
|
||||||
|
|
||||||
(defn local-date-time [x]
|
(defn local-date-time [x]
|
||||||
(-local-date-time x))
|
(-local-date-time x))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue