Skip to content

Commit f54f699

Browse files
[perf] Optimize -parent-child-transformer
1 parent 5fe9bf8 commit f54f699

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/malli/core.cljc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -601,8 +601,14 @@
601601

602602
(defn -parent-children-transformer [parent children transformer method options]
603603
(let [parent-transformer (-value-transformer transformer parent method options)
604-
child-transformers (into [] (keep #(-transformer % transformer method options)) children)
605-
child-transformer (when (seq child-transformers) (apply -comp (rseq child-transformers)))]
604+
child-transformer
605+
(reduce (fn [acc child]
606+
(if-some [transformer (-transformer child transformer method options)]
607+
(if acc
608+
(-comp transformer acc)
609+
transformer)
610+
acc))
611+
nil children)]
606612
(-intercepting parent-transformer child-transformer)))
607613

608614
(defn -map-transformer [ts]

0 commit comments

Comments
 (0)