Merge release Beta 1 into stable #21
1 changed files with 12 additions and 0 deletions
|
@ -9,6 +9,18 @@
|
|||
[pred coll]
|
||||
(keep-indexed #(when (pred %2) %1) coll))
|
||||
|
||||
(defn map-deep-merge-missing
|
||||
"Merges two maps but only keys missing from first map"
|
||||
[m1 m2]
|
||||
(into m1
|
||||
(for [k (keys m2)]
|
||||
(let [val1 (get m1 k)
|
||||
val2 (get m2 k)]
|
||||
(if (and (map? val1)
|
||||
(map? val2))
|
||||
{k (map-deep-merge-missing val1 val2)}
|
||||
{k (nil?-else val2 val1)})))))
|
||||
|
||||
;; ===== Macros =====
|
||||
(defmacro nil?-else
|
||||
"Return x unless it's nil, the return y"
|
||||
|
|
Loading…
Reference in a new issue