Skip to content

Commit f3bb007

Browse files
committedMar 1, 2025
* add info helper
* add filter-externs helper * eval comments - the problem is complex type expressions
1 parent fc8522e commit f3bb007

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed
 

‎src/main/clojure/cljs/externs.clj

+18
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,24 @@
313313
(parse-externs (resource->source-file rsrc))
314314
(:module desc))}))))
315315

316+
(defn info
317+
"Helper for grabbing var info from an externs map.
318+
Example:
319+
(info externs '[Number isNaN])
320+
See `externs-map`"
321+
[externs props]
322+
(-> externs
323+
(get-in (butlast props))
324+
(find (last props))
325+
first meta))
326+
327+
(defn filtered-externs [f]
328+
(->>
329+
(filter
330+
#(= f (.getName %))
331+
(default-externs))
332+
first parse-externs index-externs))
333+
316334
(comment
317335
(require '[clojure.java.io :as io]
318336
'[cljs.closure :as closure]

‎src/test/clojure/cljs/externs_infer_tests.clj

+15
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,21 @@
486486
:with-core? true})]
487487
(is (empty? @ws)))))
488488

489+
(comment
490+
491+
(externs/info
492+
(::ana/externs @(env/default-compiler-env))
493+
'[console])
494+
495+
(externs/info
496+
(::ana/externs @(env/default-compiler-env))
497+
'[crypto])
498+
499+
(-> (externs/filtered-externs "externs.zip//w3c_webcrypto.js")
500+
(externs/info '[crypto]))
501+
502+
)
503+
489504
(comment
490505
(binding [ana/*cljs-ns* ana/*cljs-ns*]
491506
(ana/no-warn

0 commit comments

Comments
 (0)
Failed to load comments.