public string Render(IDictionary <string, object?> variables)
        {
            var renderer = new StringBuilderTransformer(Environment, variables);

            TemplateNode.Transform(renderer);
            return(renderer.StringBuilder.ToString());
        }
        internal static DynamicRootContext CreateNew(string?name, StringBuilderTransformer transformer, IDictionary <string, object?> variables)
        {
            var scope = new DynamicRootContext(transformer, name);

            foreach (var key in variables.Keys)
            {
                scope.DefineAndSetVariable(key, variables[key]);
            }
            return(scope);
        }
 private DynamicRootContext(StringBuilderTransformer transformer, string?name) : base(name)
 {
     Transformer = transformer;
 }