protected Scriptable setupModule(Context context, ScriptableObject scope, final Resource moduleResource, String moduleId) { RequireBuilder requireBuilder = new RequireBuilder(); requireBuilder.setSandboxed(false); requireBuilder.setModuleScriptProvider(new ModuleScriptProvider() { @Override public ModuleScript getModuleScript(Context cx, String moduleId, URI moduleUri, URI baseUri, Scriptable paths) throws Exception { Script script = cx.compileString(moduleResource.getOutput().getContent(), moduleResource.getName(), 1, null); return new ModuleScript(script, URI.create(moduleResource.getName()), URI.create(moduleResource.getName())); } }); Require require = requireBuilder.createRequire(context, scope); return require.requireMain(context, moduleId); }
public ModuleScript getModuleScript(Context cx, String moduleId, URI uri, URI base, Scriptable paths) throws Exception { for (ModuleScriptProvider provider : providers) { final ModuleScript script = provider.getModuleScript(cx, moduleId, uri, base, paths); if(script != null) { return script; } } return null; } }
public ModuleScope(Scriptable prototype, URI uri, URI base) { this.uri = uri; this.base = base; setPrototype(prototype); cacheBuiltins(); }
public static void installNativeRequire(Context cx, Scriptable globalScope, Scriptable scope, final ModuleSourceProvider sourceProvider) { final ModuleScriptProvider scriptProvider = new StrongCachingModuleScriptProvider(sourceProvider); final Script preExec = null; final Script postExec = null; final boolean sandboxed = false; final Require require = new RequireBuilder() .setPreExec(preExec) .setPostExec(postExec) .setModuleScriptProvider(scriptProvider) .setSandboxed(sandboxed) .createRequire(cx, globalScope); require.install(scope); } /*
CachedModuleScript getCachedModuleScript() { final Script script = get(); if(script == null) { return null; } return new CachedModuleScript(new ModuleScript(script, uri, base), validator); }
@Override protected void putLoadedModule(String moduleId, ModuleScript moduleScript, Object validator) { scripts.put(moduleId, new ScriptReference(moduleScript.getScript(), moduleId, moduleScript.getUri(), moduleScript.getBase(), validator, scriptRefQueue)); }
public void setModuleSourceProvider(ModuleSourceProvider provider) { requireBuilder.setModuleScriptProvider(new SoftCachingModuleScriptProvider(provider)); }
/** * Creates a new require() function. You are still responsible for invoking * either {@link Require#install(Scriptable)} or * {@link Require#requireMain(Context, String)} to effectively make it * available to its JavaScript program. * @param cx the current context * @param globalScope the global scope containing the JS standard natives. * @return a new Require instance. */ public Require createRequire(Context cx, Scriptable globalScope) { return new Require(cx, globalScope, moduleScriptProvider, preExec, postExec, sandboxed); } }
CachedModuleScript getCachedModuleScript() { final Script script = get(); if(script == null) { return null; } return new CachedModuleScript(new ModuleScript(script, uri, base), validator); }
@Override protected void putLoadedModule(String moduleId, ModuleScript moduleScript, Object validator) { scripts.put(moduleId, new ScriptReference(moduleScript.getScript(), moduleId, moduleScript.getUri(), moduleScript.getBase(), validator, scriptRefQueue)); }
public ModuleScope(Scriptable prototype, URI uri, URI base) { this.uri = uri; this.base = base; setPrototype(prototype); cacheBuiltins(); }
/** * Creates a new require() function. You are still responsible for invoking * either {@link Require#install(Scriptable)} or * {@link Require#requireMain(Context, String)} to effectively make it * available to its JavaScript program. * @param cx the current context * @param globalScope the global scope containing the JS standard natives. * @return a new Require instance. */ public Require createRequire(Context cx, Scriptable globalScope) { return new Require(cx, globalScope, moduleScriptProvider, preExec, postExec, sandboxed); } }
public ModuleScript getModuleScript(Context cx, String moduleId, URI uri, URI base, Scriptable paths) throws Exception { for (ModuleScriptProvider provider : providers) { final ModuleScript script = provider.getModuleScript(cx, moduleId, uri, base, paths); if(script != null) { return script; } } return null; } }
CachedModuleScript getCachedModuleScript() { final Script script = get(); if(script == null) { return null; } return new CachedModuleScript(new ModuleScript(script, uri, base), validator); }
public ModuleScope(Scriptable prototype, URI uri, URI base) { this.uri = uri; this.base = base; setPrototype(prototype); cacheBuiltins(); }
/** * Creates a new require() function. You are still responsible for invoking * either {@link Require#install(Scriptable)} or * {@link Require#requireMain(Context, String)} to effectively make it * available to its JavaScript program. * @param cx the current context * @param globalScope the global scope containing the JS standard natives. * @return a new Require instance. */ public Require createRequire(Context cx, Scriptable globalScope) { return new Require(cx, globalScope, moduleScriptProvider, preExec, postExec, sandboxed); } }
public ModuleScript getModuleScript(Context cx, String moduleId, URI uri, URI base, Scriptable paths) throws Exception { for (ModuleScriptProvider provider : providers) { final ModuleScript script = provider.getModuleScript(cx, moduleId, uri, base, paths); if(script != null) { return script; } } return null; } }
public ModuleScope(Scriptable prototype, URI uri, URI base) { this.uri = uri; this.base = base; setPrototype(prototype); cacheBuiltins(); }
/** * Creates a new require() function. You are still responsible for invoking * either {@link Require#install(Scriptable)} or * {@link Require#requireMain(Context, String)} to effectively make it * available to its JavaScript program. * @param cx the current context * @param globalScope the global scope containing the JS standard natives. * @return a new Require instance. */ public Require createRequire(Context cx, Scriptable globalScope) { return new Require(cx, globalScope, moduleScriptProvider, preExec, postExec, sandboxed); } }
public ModuleScript getModuleScript(Context cx, String moduleId, URI uri, URI base, Scriptable paths) throws Exception { for (ModuleScriptProvider provider : providers) { final ModuleScript script = provider.getModuleScript(cx, moduleId, uri, base, paths); if(script != null) { return script; } } return null; } }