This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-07-15
Channels
- # aleph (9)
- # announcements (6)
- # beginners (42)
- # calva (4)
- # cider (9)
- # clara (2)
- # clj-kondo (1)
- # cljdoc (108)
- # cljs-dev (10)
- # clojure (25)
- # clojure-brasil (1)
- # clojure-chicago (1)
- # clojure-europe (4)
- # clojure-italy (42)
- # clojure-nl (14)
- # clojure-uk (66)
- # clojurebridge (3)
- # clojurescript (23)
- # clojutre (2)
- # community-development (1)
- # cursive (2)
- # datomic (4)
- # figwheel-main (21)
- # fulcro (23)
- # jobs-discuss (1)
- # kaocha (1)
- # off-topic (10)
- # pedestal (4)
- # reitit (2)
- # shadow-cljs (41)
- # spacemacs (7)
- # sql (20)
- # xtdb (3)
How to add new datatypes to spec coercions? I am trying to add datetime to my JSON (testing via reitit swagger ui)
(defn localdatetime-from-string [v]
(LocalDateTime/parse v dtfmt))
(defn localdatetime-to-string [v]
(.format dtfmt v))
(def timestamp-str
(st/spec
{:spec jt/local-date-time?
:description "java 8 localdatetime string"
:json-schema/type {:type "string", :format "timestamp"}
:json-schema/example "2019-07-17T10:00:00"
:decode/string #(localdatetime-from-string %2)
:encode/string #(localdatetime-to-string %2)}))
encoding JSON works fine, but decoding gives a long spec error, this is the part I think is relevant:
{
"path": [
"active_from"
],
"pred": "java-time/local-date-time?",
"val": "2019-07-17T10:00:00",
"via": [
"spec$51946/active_from"
],
"in": [
"active_from"
]
}