potpuri
potpuri copied to clipboard
Set-toggle / conj/disj
Better name would be nice.
(defn set-toggle [set item]
(if (contains? set item)
(disj set item)
(conj set item)))
;; use-cases
(def selected-items (atom #{}))
[:input {:type "checkbox"
:on-change (fn [_] (swap! selected-items set-toggle 15) nil)}]
I often would like to have the version of this that takes a boolean.
(defn set-toggle [set item include?]
(if include?
(conj set item)
(disj set item))
The function could have both arities. Functionally this is okay, but I don't like the set-toggle
name...