public static Module enable(NashornScriptEngine engine, Folder folder) throws ScriptException { Bindings global = engine.getBindings(ScriptContext.ENGINE_SCOPE); return enable(engine, folder, global); }
@Override public void config(final JsonObject config) { final Bindings engineBindings = engine.getBindings(ScriptContext.ENGINE_SCOPE); // expose the config as a global engineBindings.put("config", config != null ? config.getMap() : null); }
public static Module enable(NashornScriptEngine engine, Folder folder) throws ScriptException { Bindings global = engine.getBindings(ScriptContext.ENGINE_SCOPE); return enable(engine, folder, global); }
private Module compileJavaScriptModule(Folder parent, String fullPath, String code) throws ScriptException { Bindings engineScope = engine.getBindings(ScriptContext.ENGINE_SCOPE); Bindings module = createSafeBindings(); module.putAll(engineScope);
private Module compileJavaScriptModule(Folder parent, String fullPath, String code) throws ScriptException { Bindings engineScope = engine.getBindings(ScriptContext.ENGINE_SCOPE); Bindings module = createSafeBindings(); module.putAll(engineScope);
public NashornRuntime(final Vertx vertx, NashornScriptEngine engine) { this.engine = engine; try { final Bindings engineBindings = engine.getBindings(ScriptContext.ENGINE_SCOPE); // remove the exit and quit functions engineBindings.remove("exit"); engineBindings.remove("quit"); final Bindings globalBindings = new SimpleBindings(); // add vertx as a global globalBindings.put("vertx", vertx); // add the global reference to the bindings globalBindings.put("global", engine.eval("this")); engine.setBindings(globalBindings, ScriptContext.GLOBAL_SCOPE); // add polyfills engine.invokeFunction("load", "classpath:io/reactiverse/es4x/polyfill/object.js"); engine.invokeFunction("load", "classpath:io/reactiverse/es4x/polyfill/json.js"); engine.invokeFunction("load", "classpath:io/reactiverse/es4x/polyfill/global.js"); engine.invokeFunction("load", "classpath:io/reactiverse/es4x/polyfill/date.js"); engine.invokeFunction("load", "classpath:io/reactiverse/es4x/polyfill/console.js"); engine.invokeFunction("load", "classpath:io/reactiverse/es4x/polyfill/promise.js"); engine.invokeFunction("load", "classpath:io/reactiverse/es4x/polyfill/worker.js"); // install the commonjs loader module = engine.invokeFunction("load", "classpath:io/reactiverse/es4x/jvm-npm.js"); // get a reference to the require function require = (JSObject) engine.get("require"); } catch (ScriptException | NoSuchMethodException e) { throw new RuntimeException(e); } }