43 string? nodeName = context.
InputNode.OriginalName;
49 HtmlAttribute[] attributes = context.
InputNode.Attributes.ToArray();
51 string[] indexMap =
function.Parameters.Select(x => x.Name)
53 Dictionary<string, BadObject> arguments =
new Dictionary<string, BadObject>();
55 foreach (HtmlAttribute attribute
in attributes)
57 int index = Array.IndexOf(indexMap, attribute.OriginalName);
61 BadObject arg = context.ParseAndExecuteSingle(attribute.Value,
62 context.CreateAttributePosition(attribute)
64 arguments[attribute.OriginalName] = arg;
68 List<BadObject> args =
new List<BadObject>();
70 foreach (
string argName
in indexMap)
77 foreach (
BadObject o
in function.Invoke(args.ToArray(), context.ExecutionContext))
82 result = result.Dereference(context.CreateOuterPosition());
87 "Component must return a string",
88 context.CreateOuterPosition()
92 context.OutputNode.AppendChild(HtmlNode.CreateNode(str.Value));