Skip to content

Commit 2164cfc

Browse files
committed
[theme] Optimize for part-class correctly without leaking memory
1 parent 76ea55e commit 2164cfc

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/re_com/part.cljs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@
5050
"-"
5151
(clojure.core/name part-id)))
5252

53+
(def css-class* (memoize css-class))
54+
5355
(def describe
5456
(memoize
5557
(fn describe [structure]

src/re_com/theme.cljs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,15 @@
2727
(def merge-props tu/merge-props)
2828

2929
(defn part-class [{:keys [part] :as props}]
30-
(update props :class merge-class (part/css-class part)))
31-
32-
(def part-class* (memoize part-class))
30+
(update props :class merge-class (part/css-class* part)))
3331

3432
(defn comp [component-local-pre-theme component-local-theme]
3533
(clojure.core/apply
3634
clojure.core/comp
37-
(filterv some? [component-local-theme
38-
part-class*
39-
user
40-
main
41-
base
42-
component-local-pre-theme
43-
variables])))
35+
(filter some? [component-local-theme
36+
part-class
37+
*user*
38+
*main*
39+
*base*
40+
component-local-pre-theme
41+
*variables*])))

0 commit comments

Comments
 (0)