public bool Evaluate(object source, Message message) { Engine engine = new Engine(); engine.SetValue("message", message); engine.Execute(Script); if (!engine.GetCompletionValue().IsBoolean()) { return false; } return engine.GetCompletionValue().AsBoolean(); }
public void FuncTest() { var engine = new Engine() .SetValue("hello", (Func<string, string>)(a => a)); engine.Execute(@" function getWord(word) { return hello(word); }; getWord('Hello World');"); var value = engine.GetCompletionValue().ToObject(); Assert.AreEqual("Hello World", value); engine.Execute("getWord('worldbye')"); value = engine.GetCompletionValue().ToObject(); Assert.AreEqual("worldbye", value); }
internal string GetAssignScriptResult(string script, string field, Dictionary <string, string> answers) { var engine = new Jint.Engine(); foreach (var variable in answers) { engine.SetValue(variable.Key, variable.Value); } engine.Execute(script); var result = engine.GetCompletionValue(); return(result.IsNull() ? null : result.ToString()); }
public bool GetCondResult(string condCode, Dictionary <string, string> variables) { condCode = condCode.Replace("&", "&"); var engine = new Jint.Engine(); foreach (var variable in variables) { engine.SetValue(variable.Key, variable.Value); } engine.Execute(condCode); var result = engine.GetCompletionValue().AsBoolean(); return(result); }