private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => args[0] != null && !(args[0] is JValue) && args[0].GetType().IsValueType == false && args[0].GetType() != typeof(string))); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => FunctionUtils.CultureInvariantDoubleConvert(args[0]))); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => DateTime.UtcNow.ToString(args.Count == 1 ? args[0].ToString() : FunctionUtils.DefaultDateTimeFormat, CultureInfo.InvariantCulture))); }
// Generate a new lookup function based on one lookup function private EvaluatorLookup CustomizedEvaluatorLookup(EvaluatorLookup baseLookup) => (string name) => { var standardFunction = baseLookup(name); if (standardFunction != null) { return(standardFunction); } if (name.StartsWith("lg.", StringComparison.Ordinal)) { name = name.Substring(3); } var templateName = ParseTemplateName(name).pureTemplateName; if (this.TemplateMap.ContainsKey(templateName)) { return(new ExpressionEvaluator(templateName, FunctionUtils.Apply(this.TemplateEvaluator(name)), ReturnType.Object, this.ValidTemplateReference)); } const string template = "template"; if (name.Equals(template, StringComparison.Ordinal)) { return(new ExpressionEvaluator(template, FunctionUtils.Apply(this.TemplateFunction()), ReturnType.Object, this.ValidateTemplateFunction)); } const string fromFile = "fromFile"; if (name.Equals(fromFile, StringComparison.Ordinal)) { return(new ExpressionEvaluator(fromFile, FunctionUtils.Apply(this.FromFile()), ReturnType.String, FunctionUtils.ValidateUnaryString)); } const string activityAttachment = "ActivityAttachment"; if (name.Equals(activityAttachment, StringComparison.Ordinal)) { return(new ExpressionEvaluator( activityAttachment, FunctionUtils.Apply(this.ActivityAttachment()), ReturnType.Object, (expr) => FunctionUtils.ValidateOrder(expr, null, ReturnType.Object, ReturnType.String))); } const string isTemplate = "isTemplate"; if (name.Equals(isTemplate, StringComparison.Ordinal)) { return(new ExpressionEvaluator(isTemplate, FunctionUtils.Apply(this.IsTemplate()), ReturnType.Boolean, FunctionUtils.ValidateUnaryString)); } const string expandText = "expandText"; if (name.Equals(expandText, StringComparison.Ordinal)) { return(new ExpressionEvaluator(expandText, FunctionUtils.Apply(this.ExpandText()), ReturnType.Object, FunctionUtils.ValidateUnaryString)); } return(null); };
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(args[0].ToString().Substring(args[0].ToString().IndexOf(",", StringComparison.Ordinal) + 1))), FunctionUtils.VerifyString)); }
// Generate a new lookup function based on one lookup function private EvaluatorLookup CustomizedEvaluatorLookup(EvaluatorLookup baseLookup, bool isExpander) => (string name) => { var standardFunction = baseLookup(name); if (standardFunction != null) { return(standardFunction); } var pointIndex = name.IndexOf('.'); if (pointIndex > 0) { var alias = name.Substring(0, pointIndex); if (Templates.NamedReferences.ContainsKey(alias)) { var realTemplateName = name.Substring(pointIndex + 1); return(new ExpressionEvaluator(realTemplateName, FunctionUtils.Apply(this.EvaluateWithTemplates(realTemplateName, Templates.NamedReferences[alias])), ReturnType.Object)); } } if (name.StartsWith("lg.", StringComparison.Ordinal)) { name = name.Substring(3); } if (this.TemplateMap.ContainsKey(name)) { if (isExpander) { return(new ExpressionEvaluator(name, FunctionUtils.Apply(this.TemplateExpander(name)), ReturnType.Object, this.ValidTemplateReference)); } else { return(new ExpressionEvaluator(name, FunctionUtils.Apply(this.TemplateEvaluator(name)), ReturnType.Object, this.ValidTemplateReference)); } } const string template = "template"; if (name.Equals(template, StringComparison.Ordinal)) { return(new ExpressionEvaluator(template, FunctionUtils.Apply(this.TemplateFunction()), ReturnType.Object, this.ValidateTemplateFunction)); } const string fromFile = "fromFile"; if (name.Equals(fromFile, StringComparison.Ordinal)) { return(new ExpressionEvaluator(fromFile, FunctionUtils.Apply(this.FromFile()), ReturnType.String, ValidateFromFile)); } const string activityAttachment = "ActivityAttachment"; if (name.Equals(activityAttachment, StringComparison.Ordinal)) { return(new ExpressionEvaluator( activityAttachment, FunctionUtils.Apply(this.ActivityAttachment()), ReturnType.Object, (expr) => FunctionUtils.ValidateOrder(expr, null, ReturnType.Object, ReturnType.String))); } const string isTemplate = "isTemplate"; if (name.Equals(isTemplate, StringComparison.Ordinal)) { return(new ExpressionEvaluator(isTemplate, FunctionUtils.Apply(this.IsTemplate()), ReturnType.Boolean, FunctionUtils.ValidateUnaryString)); } const string expandText = "expandText"; if (name.Equals(expandText, StringComparison.Ordinal)) { return(new ExpressionEvaluator(expandText, FunctionUtils.Apply(this.ExpandText()), ReturnType.Object, FunctionUtils.ValidateUnaryString)); } return(null); };
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => Convert.FromBase64String(args[0].ToString()), FunctionUtils.VerifyString)); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => new List <object>(args))); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => "data:text/plain;charset=utf-8;base64," + Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(args[0].ToString())), FunctionUtils.VerifyString)); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => Environment.NewLine)); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => args[0] is bool)); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => Guid.NewGuid().ToString())); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => Convert.ToInt64(args[0]))); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => Convert.ToInt64(args[0], CultureInfo.InvariantCulture))); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(args[0].ToString())), FunctionUtils.VerifyString)); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => args[0] != null && args[0].GetType() == typeof(string))); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => JsonConvert.SerializeObject(args[0]).TrimStart('"').TrimEnd('"'))); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => Uri.UnescapeDataString(args[0].ToString()), FunctionUtils.VerifyString)); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => Extensions.IsNumber(args[0]) && FunctionUtils.CultureInvariantDoubleConvert(args[0]) % 1 != 0)); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => EvalAddOrdinal(Convert.ToInt32(args[0])), FunctionUtils.VerifyInteger)); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => FunctionUtils.ToBinary(args[0].ToString()), FunctionUtils.VerifyString)); }
private Templates InjectToExpressionFunction() { var totalTempaltes = new List <Templates> { this }.Union(References); foreach (var curTemplates in totalTempaltes) { var globalFuncs = curTemplates.GetGlobalFunctionTable(curTemplates.Options); foreach (var templateName in globalFuncs) { if (curTemplates.Any(u => u.Name == templateName)) { var newGlobalName = $"{curTemplates.Namespace}.{templateName}"; Expression.Functions.Add(newGlobalName, new ExpressionEvaluator(newGlobalName, FunctionUtils.Apply(this.GlobalTemplateFunction(templateName)), ReturnType.Object)); } } } return(this); }
private static EvaluateExpressionDelegate Evaluator(Func <IReadOnlyList <object>, object> function) { return(FunctionUtils.Apply(function, FunctionUtils.VerifyStringOrNull)); }
private static EvaluateExpressionDelegate Evaluator() { return(FunctionUtils.Apply(args => EvalCoalesce(args.ToArray()))); }