diff --git a/frontend/uxbox/util/data.cljs b/frontend/uxbox/util/data.cljs new file mode 100644 index 0000000000..54801509d0 --- /dev/null +++ b/frontend/uxbox/util/data.cljs @@ -0,0 +1,13 @@ +(ns uxbox.util.data + "A collection of data transformation utils.") + +(defn index-by + "Return a indexed map of the collection + keyed by the result of executing the getter + over each element of the collection." + [coll getter] + (let [data (transient {})] + (run! #(assoc! data (getter %) %) coll) + (persistent! data))) + +(def ^:static index-by-id #(index-by % :id))