using System.Collections.Generic;
using Autofac;
using HandlebarsDotNet;
using MfGames.Nitride.Handlebars.Configuration;
namespace MfGames.Nitride.Handlebars;
public class NitrideHandlebarsModule : Module
{
///
protected override void Load(ContainerBuilder builder)
{
builder.RegisterOperators(this);
builder.RegisterValidators(this);
builder.RegisterType()
.AsSelf()
.SingleInstance();
builder.Register(
(context) =>
{
IHandlebars handlebars = HandlebarsDotNet.Handlebars.Create();
IEnumerable helpers = context.Resolve>();
foreach (IHandlebarsLoader helper in helpers)
{
helper.Register(handlebars);
}
return handlebars;
})
.As()
.SingleInstance();
}
}