public void WriteFunction(CssFunction function) { // {name}({args}) Func<CssValue[], CssValue> func; if (CssFunctions.TryGet(function.Name, out func)) { var args = GetArgs(function.Arguments).ToArray(); writer.Write(func(args)); return; } writer.Write(function.Name); writer.Write("("); WriteValue(function.Arguments); writer.Write(")"); }
public CssValue EvalFunction(CssFunction function) { Func<CssValue[], CssValue> func; if (CssFunctions.TryGet(function.Name, out func)) { var args = GetArgs(function.Arguments).ToArray(); return func(args); } throw new Exception($"function named '{function.Name}' not registered"); }