elsa-core/src/modules/Elsa.Liquid/Extensions/TemplateContextExtensions.cs

22 lines
746 B
C#
Raw Normal View History

using Elsa.Liquid.Options;
using Elsa.Liquid.Services;
2022-01-12 11:37:40 +00:00
using Fluid;
using Microsoft.Extensions.DependencyInjection;
namespace Elsa.Liquid.Extensions
2022-01-12 11:37:40 +00:00
{
public static class TemplateContextExtensions
{
internal static void AddFilters(this TemplateContext templateContext, FluidOptions options, IServiceProvider services)
{
foreach (var (key, value) in options.FilterRegistrations)
{
templateContext.Options.Filters.AddFilter(key, (input, arguments, ctx) =>
{
var filter = (ILiquidFilter)services.GetRequiredService(value);
return filter.ProcessAsync(input, arguments, ctx);
});
}
}
}
}