Skip to content

Commit 4cf7ac2

Browse files
committed
find-entry -> find-entries, prep for wildcard :modules entry
1 parent f3f39ab commit 4cf7ac2

1 file changed

Lines changed: 13 additions & 12 deletions

File tree

src/main/clojure/cljs/closure.clj

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1086,6 +1086,16 @@
10861086
:depends-on #{:core}}}))
10871087
)
10881088

1089+
(defn find-entries [sources entry]
1090+
#{(some
1091+
(fn [source]
1092+
(let [matcher
1093+
(into #{}
1094+
[(name entry) (name (comp/munge entry))])]
1095+
(when (some matcher (:provides source))
1096+
source)))
1097+
sources)})
1098+
10891099
(defn build-modules
10901100
"Given a list of IJavaScript sources in dependency order and compiler options
10911101
return a dependency sorted list of module name / description tuples. The
@@ -1094,16 +1104,7 @@
10941104
a :foreign-deps vector containing foreign IJavaScript sources in dependency
10951105
order."
10961106
[sources opts]
1097-
(let [find-entry (fn [sources entry]
1098-
(some
1099-
(fn [source]
1100-
(let [matcher
1101-
(into #{}
1102-
[(name entry) (name (comp/munge entry))])]
1103-
(when (some matcher (:provides source))
1104-
source)))
1105-
sources))
1106-
used (atom {})
1107+
(let [used (atom {})
11071108
[sources' modules]
11081109
(reduce
11091110
(fn [[sources ret] [name {:keys [entries output-to depends-on] :as module-desc}]]
@@ -1117,10 +1118,10 @@
11171118
;; as well as sources difference
11181119
(reduce
11191120
(fn [[sources ret] entry-sym]
1120-
(if-let [entry (find-entry sources entry-sym)]
1121+
(if-let [entries (find-entries sources entry-sym)]
11211122
(do
11221123
(swap! used assoc entry-sym name)
1123-
[(remove #{entry} sources) (conj ret entry)])
1124+
[(remove entries sources) (into ret entries)])
11241125
(if (contains? @used entry-sym)
11251126
(throw
11261127
(IllegalArgumentException.

0 commit comments

Comments
 (0)