Skip to content

Commit 53e59c5

Browse files
committed
memoize c.m-g/deps-for
1 parent 2687119 commit 53e59c5

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/main/clojure/cljs/module_graph.cljc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
(into ret (map #(vector (-> % munge str) input)) provides))
104104
{} inputs))
105105

106-
(defn deps-for
106+
(defn ^:dynamic deps-for
107107
"Return all dependencies for x in a graph using deps-key."
108108
[x graph deps-key]
109109
(let [requires (get-in graph [x deps-key])]
@@ -183,8 +183,10 @@
183183
(update ret entry (fnil conj #{}) module-name))
184184
ret (canon (f entries')))))
185185
{} modules))
186-
e->ms (assigns identity)
187-
d->ms (assigns #(distinct (mapcat deps %)))
186+
e->ms (binding [deps-for (memoize deps-for)]
187+
(assigns identity))
188+
d->ms (binding [deps-for (memoize deps-for)]
189+
(assigns #(distinct (mapcat deps %))))
188190
assigned (merge
189191
(into {} (map assign1) d->ms)
190192
(into {} (map assign1) e->ms))

0 commit comments

Comments
 (0)