This commit is contained in:
Andrey Antukh 2026-04-17 11:33:34 +02:00
parent 362f64ff9b
commit 4ca4b43973
2 changed files with 18 additions and 11 deletions

View File

@ -89,6 +89,7 @@
(get-attrs-multi objs attrs default-equal identity))
([objs attrs eqfn sel]
(loop [attr (first attrs)
attrs (rest attrs)
result (transient {})]
@ -100,13 +101,19 @@
(if (and curr (not= value :multiple))
(let [new-val (get-attr curr attr)
value (cond
(= new-val ::unset) value
(= new-val :multiple) :multiple
(= value ::unset) (sel new-val)
(eqfn new-val value) value
:else :multiple)]
(recur (first objs) (rest objs) value))
value (cond
(= new-val ::unset)
(if (not= value ::unset)
:multiple
value)
(= new-val :multiple) :multiple
(= value ::unset) (sel new-val)
(eqfn new-val value) value
:else :multiple)]
(if (= value :multiple)
value
(recur (first objs) (rest objs) value)))
value))]

View File

@ -267,11 +267,11 @@
(attrs/get-text-attrs-multi shape txt/default-text-attrs attrs)
new-values
(-> values
(merge-attrs shape-attrs)
(merge-attrs content-attrs))
(merge-attrs values (merge shape-attrs content-attrs))
new-token-acc
(merge-token-values token-acc content-attrs applied-tokens)]
new-token-acc (merge-token-values token-acc content-attrs applied-tokens)]
[(conj ids id)
new-values
new-token-acc])