Skip to content

Commit 9f4390a

Browse files
committed
add helpers for parsing goog lib into a ns
1 parent 5865ebb commit 9f4390a

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/main/clojure/cljs/externs.clj

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,22 @@
172172
externs (index-externs (parse-externs externs-file))))
173173
defaults sources))))
174174

175+
(defn parsed->defs [externs]
176+
(reduce
177+
(fn [m xs]
178+
(let [sym (last xs)]
179+
(cond-> m
180+
(seq xs) (assoc sym (meta sym)))))
181+
{} externs))
182+
175183
(defn analyze-goog-file [f]
176184
(let [rsrc (io/resource f)
177185
desc (js-deps/parse-js-ns (line-seq (io/reader rsrc)))]
178186
;; TODO: figure out what to do about other provides
179-
[(first (:provides desc))
180-
]))
187+
{:name (first (:provides desc))
188+
:defs (parsed->defs
189+
(parse-externs
190+
(SourceFile/fromInputStream f (io/input-stream rsrc))))}))
181191

182192
(comment
183193

0 commit comments

Comments
 (0)