cljs.repl.nashorn/create-engine
function | removed v1.10.738 | added v0.0-2814 | Edit |
(create-engine)
(create-engine {:keys [code-cache], :or {code-cache true}})
(defn create-engine
([] (create-engine nil))
([{:keys [code-cache] :or {code-cache true}}]
(let [args (when code-cache ["-pcc"])
factories (.getEngineFactories (ScriptEngineManager.))
factory (get (zipmap (map #(.getEngineName %) factories) factories) "Oracle Nashorn")]
(if-let [engine (if-not (empty? args)
(.getScriptEngine ^ScriptEngineFactory factory (into-array args))
(.getScriptEngine ^ScriptEngineFactory factory))]
(let [context (.getContext engine)]
(.setWriter context *out*)
(.setErrorWriter context *err*)
engine)
(throw (IllegalArgumentException.
"Cannot find the Nashorn script engine, use a JDK version 8 or higher."))))))