Selaa lähdekoodia

fix: build doesn't fail if one extends

doesn't have a class-db id. Also fix export
which should always export extends unless it's the default
Gabriel Horner 4 kuukautta sitten
vanhempi
sitoutus
1ae6e5ceb5

+ 6 - 4
deps/db/src/logseq/db/sqlite/build.cljs

@@ -287,10 +287,12 @@
                                                    uuid-maps all-idents options))
                              (when class-extends'
                                {:logseq.property.class/extends
-                                (or (map class-db-ids class-extends')
-                                    (if (every? db-malli-schema/class? class-extends')
-                                      class-extends'
-                                      (throw (ex-info (str "No :db/id for " class-extends') {}))))})
+                                (mapv (fn [c]
+                                        (or (class-db-ids c)
+                                            (if (db-malli-schema/class? c)
+                                              c
+                                              (throw (ex-info (str "No :db/id for " c) {})))))
+                                      class-extends')})
                              (when class-properties
                                {:logseq.property.class/properties
                                 (mapv #(hash-map :db/ident (get-ident all-idents %))

+ 1 - 1
deps/db/src/logseq/db/sqlite/export.cljs

@@ -190,7 +190,7 @@
     ;; It's caller's responsibility to ensure parent is included in final export
     (and (not shallow-copy?)
          (:logseq.property.class/extends class-ent)
-         (not ((set (map :db/ident (:logseq.property.class/extends class-ent))) :logseq.class/Root)))
+         (not= [:logseq.class/Root] (mapv :db/ident (:logseq.property.class/extends class-ent))))
     (assoc :build/class-extends
            (mapv :db/ident (:logseq.property.class/extends class-ent)))))