From bfc08e7326e948bd64d8b36cb6979100b8b5242a Mon Sep 17 00:00:00 2001 From: rcmerci Date: Wed, 1 Nov 2023 23:14:03 +0800 Subject: [PATCH] enhance(rtc): simpler way to sort datoms --- src/main/frontend/db/rtc/db_listener.cljs | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/src/main/frontend/db/rtc/db_listener.cljs b/src/main/frontend/db/rtc/db_listener.cljs index e4fc29c42e..8ae31200c1 100644 --- a/src/main/frontend/db/rtc/db_listener.cljs +++ b/src/main/frontend/db/rtc/db_listener.cljs @@ -155,23 +155,12 @@ (prn ::add-ops ops) (datoms - (into {} - (keep (fn [datoms] - (when-let [e (ffirst datoms)] - [e datoms]))) - entity-datoms-coll)] - (mapv second (sort-by first < id->datoms)))) - (defn generate-rtc-ops [repo db-before db-after datoms] - (let [same-entity-datoms-coll (->> datoms - (map vec) - (group-by first) - vals - sort-entity-datoms-coll) + (let [datom-vec-coll (map vec datoms) + id->same-entity-datoms (group-by first datom-vec-coll) + id-order (distinct (map first datom-vec-coll)) + same-entity-datoms-coll (map id->same-entity-datoms id-order) ops (mapcat (partial entity-datoms=>ops repo db-before db-after) same-entity-datoms-coll)] (when (seq ops) (swap! *ops-pending-to-store conj {:ops ops :repo repo}))))