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