static void ProcessScript(String sFunc, String sHdrFile, String sDtlFile) { String sFileResult = Path.GetFileNameWithoutExtension(sDtlFile) + "-result.js"; String sHdrScript = File.ReadAllText(sHdrFile); String sRScript = File.ReadAllText(sDtlFile); V8ScriptEngine v8 = new V8ScriptEngine(); V8Script myScript = v8.Compile(sHdrScript); v8.Execute(myScript); String sRegex = "(" + sFunc + @"\(\'0[xX][0-9A-Fa-f]+\'\))"; MatchCollection arMatches = Regex.Matches(sRScript, sRegex); int nI; String sMatchVal, sRes; for (nI = 0; nI < arMatches.Count; nI++) { sMatchVal = arMatches[nI].Value; Console.WriteLine("Processing " + sMatchVal + " ..."); sRes = v8.ExecuteCommand(sMatchVal); sRScript = sRScript.Replace(arMatches[nI].Value, "\"" + sRes + "\""); } v8.Dispose(); File.WriteAllText(sFileResult, sRScript); return; }
public void Load() { engine.ExecuteCommand("var atmb = {}"); engine.AddHostObject("afx", new HostTypeCollection("AutumnBox.Basic", "AutumnBox.Logging")); engine.ExecuteCommand("var basic = afx.AutumnBox.Basic"); AddHostObjectToATMB("logf", new LogFormat((args) => { if (args.Length > 1) { Debug.WriteLine(args.Length); Debug.WriteLine(args[0].ToString(), args.Skip(1).ToArray()); } else { Debug.WriteLine(args[0]); } })); AddHostTypeToATMB("DNConsole", typeof(Console)); AddHostObjectToATMB("DNNow", DateTime.Now); }
static void Testing() { Console.WriteLine("Testing Here"); V8ScriptEngine v8 = new V8ScriptEngine(); String sScript = File.ReadAllText("header.js"); String sRScript = File.ReadAllText("detail.js"); String sFunc = "_0xfec0"; //Console.WriteLine(sScript); V8Script myScript = v8.Compile(sScript); v8.Execute(myScript); //find certain pattern in the String sTest = v8.ExecuteCommand("_0xfec0('0x0')"); Console.WriteLine("OK " + sTest); sTest = v8.ExecuteCommand("_0xfec0('0x1')"); Console.WriteLine("OK " + sTest); sTest = v8.ExecuteCommand("_0xfec0('0x2')"); Console.WriteLine("OK " + sTest); v8.Dispose(); }
private void RefreshJavaScriptValidation() { EnsureScriptComponent(); var functionName = "validators." + this.GetType().Name; JsonSerializerSettings settings = new JsonSerializerSettings(); settings.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat; var jsonData = JsonConvert.SerializeObject(this, settings); var res = _engine.ExecuteCommand(functionName + "(" + jsonData + ")"); var oldErrors = _errors; _errors = ScriptHelper.ConvertToStringArray(res); RaiseErrorChangedForAll(oldErrors); }
public string ExecuteCommand(string command) { return(Engine.ExecuteCommand(command)); }
/// <summary> /// /// </summary> /// <param name="scriptCode"></param> /// <returns></returns> public static string Excute(string scriptCode) { var engine = new V8ScriptEngine(); return(engine.ExecuteCommand(scriptCode)); }