fix(rtc): invalid datom value nil

experiment/tanstack-table
rcmerci 2024-05-28 13:00:10 +08:00
parent 0bcea11a40
commit 1b528b2fc6
2 changed files with 9 additions and 2 deletions

View File

@ -341,7 +341,9 @@
(first (map ldb/read-transit-str remote-v))
(ldb/read-transit-str remote-v))]
(when (not= local-v remote-v*)
[[:db/add e k remote-v*]]))
(if (nil? remote-v*)
[[:db/retract e k local-v]]
[[:db/add e k remote-v*]])))
[false true]
(let [_ (assert (or (nil? remote-v) (coll? remote-v)) {:remote-v remote-v :a k :e e})

View File

@ -46,4 +46,9 @@
:block/tags ["ref1"]}])
op-value {:block/tags [ref-uuid2]}]
(is (= #{[:db/retract (:db/id (d/entity db [:block/uuid block-uuid])) :block/tags [:block/uuid ref-uuid1]]}
(set (#'subject/remote-op-value->tx-data db block-uuid op-value))))))))
(set (#'subject/remote-op-value->tx-data db block-uuid op-value))))))
(testing ":block/updated-at"
(let [db (d/db-with db [{:block/uuid block-uuid
:block/updated-at 1}])]
(is (= [[:db/retract 1 :block/updated-at 1]]
(#'subject/remote-op-value->tx-data db block-uuid {})))))))