This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-04-23
Channels
- # announcements (5)
- # aws (4)
- # babashka (141)
- # beginners (139)
- # calva (35)
- # cider (5)
- # clj-kondo (27)
- # cljsrn (20)
- # clojure (37)
- # clojure-czech (5)
- # clojure-dev (26)
- # clojure-europe (11)
- # clojure-germany (1)
- # clojure-italy (1)
- # clojure-nl (3)
- # clojure-spec (17)
- # clojure-uk (16)
- # clojurescript (2)
- # conjure (1)
- # cursive (6)
- # datomic (20)
- # defnpodcast (1)
- # emacs (15)
- # fulcro (26)
- # honeysql (2)
- # instaparse (3)
- # jackdaw (4)
- # jobs (2)
- # lsp (70)
- # luminus (2)
- # meander (16)
- # missionary (2)
- # other-languages (151)
- # pathom (6)
- # portkey (13)
- # re-frame (13)
- # reagent (2)
- # reitit (43)
- # releases (1)
- # remote-jobs (1)
- # reveal (5)
- # rum (2)
- # sci (15)
- # shadow-cljs (37)
- # spacemacs (4)
- # tools-deps (8)
- # vim (20)
Moin!
måning
This mornings little fun:
(s/def ::json-number
(s/with-gen
number?
#(sgen/one-of [(sgen/large-integer) (sgen/double* {:infinite? false :NaN? false})])))
(s/def ::json-scalar (s/or :boolean boolean?
:number ::json-number
:string string?
:nil nil?))
(s/def ::json-value (s/or :object ::json-object
:array ::json-array
:scalar ::json-scalar))
(s/def ::json-array (s/coll-of ::json-value))
(s/def ::json-object (s/map-of string? ::json-value
:gen-max 10))
(s/fdef json/write-str
:args (s/cat :json ::json-value)
:ret string?
:fn #(= (->> % :args :json (s/unform ::json-value))
(json/read-str (-> % :ret))))
(deftest roundtrip
(let [results (stest/check `json/write-str)]
(is (every? nil? (mapv :failure results)))))
👍 3