34 lines
747 B
C#
34 lines
747 B
C#
using System;
|
|
using System.Text;
|
|
|
|
namespace mustache
|
|
{
|
|
internal sealed class WithBuilder : IBuilder
|
|
{
|
|
private readonly CompoundBuilder builder;
|
|
|
|
public WithBuilder()
|
|
{
|
|
builder = new CompoundBuilder();
|
|
}
|
|
|
|
public string Key
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public CompoundBuilder Builder
|
|
{
|
|
get { return builder; }
|
|
}
|
|
|
|
public void Build(Scope scope, StringBuilder output, IFormatProvider provider)
|
|
{
|
|
object value = scope.Find(Key);
|
|
Scope valueScope = scope.CreateChildScope(value);
|
|
builder.Build(valueScope, output, provider);
|
|
}
|
|
}
|
|
}
|