Disons que j'ai ce fn
(let [{:keys [a b c d] :as params} {:a 1 :b 1 :c nil :d nil}]
(cond-> params
a (update :b inc)
(= b 2) (assoc :c "here")
c (assoc :d "here")))
ce que je reçois
;;=> {:a 1, :b 2, :c nil, :d nil}
ce que je veux :
;;=> {:a 1, :b 2, :c "here", :d "here"}
Syntaxe possible :
(let [params {:a 1 :b 1 :c nil :d nil}]
(cond$-> params
(:a $) (update :b inc)
(= (:b $) 2) (assoc :c "here")
(:c $) (assoc :d "here")))
Cette solution ou une solution similaire est-elle déjà mise en œuvre quelque part ?