This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-01-11
Channels
- # announcements (1)
- # babashka (70)
- # beginners (8)
- # calva (5)
- # cider (9)
- # clojure (48)
- # clojure-austin (68)
- # clojure-europe (29)
- # clojure-norway (30)
- # clojure-uk (5)
- # clojuredesign-podcast (2)
- # cursive (19)
- # datomic (10)
- # emacs (11)
- # events (2)
- # exercism (4)
- # fulcro (2)
- # hyperfiddle (29)
- # introduce-yourself (2)
- # jobs-discuss (4)
- # kaocha (1)
- # leiningen (8)
- # lsp (8)
- # malli (2)
- # matcher-combinators (20)
- # nrepl (15)
- # off-topic (33)
- # reagent (7)
- # releases (4)
- # shadow-cljs (42)
- # spacemacs (6)
- # sql (6)
- # squint (10)
- # vim (3)
One small addition before pushing 0.14.0 out, m/deref-recursive
takes ::m/ref-key
option to add the de-reffed ref-keys into schema properties:
(m/deref-recursive
[:schema {:registry {::user-id :uuid
::address [:map
[:street :string]]
::user [:map
[:id ::user-id]
[:friends [:set [:ref ::user]]]
[:address ::address]]}}
::user]
{::m/ref-key :id})
;[:map {:id :user/user}
; [:id [:uuid {:id :user/user-id}]]
; [:friends [:set [:ref :user/user]]]
; [:address [:map {:id :user/address} [:street :string]]]]
👀 1
with defaults:
(m/deref-recursive
[:schema {:registry {::user-id :uuid
::address [:map
[:street :string]]
::user [:map
[:id ::user-id]
[:friends [:set [:ref ::user]]]
[:address ::address]]}}
::user])
;[:map
; [:id :uuid]
; [:friends [:set [:ref :user/user]]]
; [:address [:map [:street :string]]]]