private void PrecompileScripts() { using (var engine = v8Runtime.CreateScriptEngine()) { LoadSharedScripts(engine, true); } }
/// <summary> /// Retrieves the script engine for the current runtime manager. /// </summary> /// <returns></returns> public V8ScriptEngine GetEngine() { if (_scriptEngine == null) { V8ScriptEngineFlags flags = _settings.V8DebugEnabled ? V8ScriptEngineFlags.DisableGlobalMembers | V8ScriptEngineFlags.EnableDebugging : V8ScriptEngineFlags.DisableGlobalMembers; _scriptEngine = _v8Runtime.CreateScriptEngine(flags, _settings.V8DebugPort); } return(_scriptEngine); }
private static Dictionary <string, object> TestConversion(string testJson, string code) { V8Runtime v8Runtime = new V8Runtime(); using (var context = v8Runtime.CreateScriptEngine()) { var result = JsonConvert.DeserializeObject <dynamic>(testJson); var jsValues = ScriptHelpers.ToScriptValue(result, context); context.AddHostObject("s", jsValues); Assert.IsTrue((bool)context.Evaluate(code)); return(ConvertJsToNative(jsValues)); } }
/// <summary> /// Retrieves the script engine for the current runtime manager. /// </summary> /// <returns></returns> public V8ScriptEngine GetEngine() { if (_scriptEngine == null) { V8ScriptEngineFlags flags = _settings.V8DebugEnabled ? V8ScriptEngineFlags.DisableGlobalMembers | V8ScriptEngineFlags.EnableDebugging : V8ScriptEngineFlags.DisableGlobalMembers; if (_settings.V8DebugPort <= 0) { _settings.V8DebugPort = FindFreePort(IPAddress.Loopback); Debug.WriteLine("_settings.V8DebugPort:" + _settings.V8DebugPort); } _scriptEngine = _v8Runtime.CreateScriptEngine(flags, _settings.V8DebugPort); if (_settings.V8DebugEnabled) { _scriptEngine.AllowReflection = true; } } return(_scriptEngine); }