fix: query builder not working for multi-word task values

Another fix for https://github.com/logseq/db-test/issues/215
This commit is contained in:
Gabriel Horner
2025-02-05 16:12:40 -05:00
parent 38aff834f5
commit 6848f98be9
2 changed files with 4 additions and 3 deletions

View File

@@ -147,8 +147,9 @@
(and (vector? f) (= :priority (keyword (first f))))
(vec (cons (symbol :priority) (map symbol (rest f))))
;; Stringify task property values to support multi-word values like "In Review"
(and (vector? f) (= :task (keyword (first f))))
(vec (cons (symbol :task) (map symbol (rest f))))
(vec (cons (symbol :task) (map str (rest f))))
(and (vector? f) (= :page-ref (keyword (first f))))
(->page-ref (second f))

View File

@@ -26,8 +26,8 @@
(str '(and [[foo]] [[bar]]))))
(is (= (str (query-builder/->dsl [:and [:page-ref "foo"] [:or [:page-ref "bar"] [:property :key :value]]]))
(str '(and [[foo]] (or [[bar]] (property :key :value))))))
(is (= (str (query-builder/->dsl [:and [:priority "A"] [:task "NOW"]]))
(str '(and (priority A) (task NOW))))))
(is (= (str (query-builder/->dsl [:and [:priority "A"] [:task "In Review"]]))
(str '(and (priority A) (task "In Review"))))))
(deftest from-dsl
(is (= (query-builder/from-dsl '(and [[foo]] [[bar]]))