File tree Expand file tree Collapse file tree 1 file changed +25
-1
lines changed Expand file tree Collapse file tree 1 file changed +25
-1
lines changed Original file line number Diff line number Diff line change 58
58
(let [xs (deps-for module-name module-infos)]
59
59
(doseq [x xs]
60
60
(.setLoaded *module-manager* (munge-kw x)))
61
- (.setLoaded *module-manager* (munge-kw module-name))))
61
+ (.setLoaded *module-manager* (munge-kw module-name))))
62
+
63
+ (defn loaded?
64
+ " Return true if modules is loaded. module-name should be a keyword matching
65
+ a :modules module definition."
66
+ [module-name]
67
+ (assert (contains? module-infos module-name)
68
+ (str " Module " module-name " does not exist" ))
69
+ (let [mname (-> module-name name munge)
70
+ module (.getModuleInfo *module-manager* mname)]
71
+ (when (some? module)
72
+ (.isLoaded module))))
73
+
74
+ (defn prefetch
75
+ " Prefetch a module. module-name should be a keyword matching a :modules
76
+ module definition. Will download the module but not evaluate it. To
77
+ complete module load, one must also call cljs.loader/load after prefetching
78
+ the module. Does nothing if the module is loading or has been loaded."
79
+ [module-name]
80
+ (assert (contains? module-infos module-name)
81
+ (str " Module " module-name " does not exist" ))
82
+ (when-not (loaded? module-name)
83
+ (let [mname (-> module-name name munge)]
84
+ (when-not (.isModuleLoading *module-manager* mname)
85
+ (.prefetchModule *module-manager* mname)))))
You can’t perform that action at this time.
0 commit comments