diff --git a/src/uxbox/util/data.cljs b/src/uxbox/util/data.cljs index 904bfe384..bfff82086 100644 --- a/src/uxbox/util/data.cljs +++ b/src/uxbox/util/data.cljs @@ -37,6 +37,17 @@ (persistent! (reduce #(dissoc! %1 %2) (transient data) keys))) +(defn dissoc-in + [m [k & ks :as keys]] + (if ks + (if-let [nextmap (get m k)] + (let [newmap (dissoc-in nextmap ks)] + (if (seq newmap) + (assoc m k newmap) + (dissoc m k))) + m) + (dissoc m k))) + (defn index-of "Return the first index when appears the `v` value in the `coll` collection."