(defn emit-constants-table [table]
(emitln "goog.provide('" (munge ana/constants-ns-sym) "');")
(emitln "goog.require('cljs.core');")
(doseq [[sym value] table]
(let [ns (namespace sym)
name (name sym)]
(emits "cljs.core." value " = ")
(cond
(keyword? sym) (emits-keyword sym)
(symbol? sym) (emits-symbol sym)
:else (throw
(ex-info
(str "Cannot emit constant for type " (type sym))
{:error :invalid-constant-type})))
(emits ";\n"))))