Files
WireMock.Net-wiremock/src/WireMock.Net/Transformers/Handlebars/HandlebarsContextFactory.cs

30 lines
877 B
C#

using HandlebarsDotNet;
using Stef.Validation;
using WireMock.Settings;
namespace WireMock.Transformers.Handlebars;
internal class HandlebarsContextFactory : ITransformerContextFactory
{
private readonly WireMockServerSettings _settings;
public HandlebarsContextFactory(WireMockServerSettings settings)
{
_settings = Guard.NotNull(settings);
}
public ITransformerContext Create()
{
var config = new HandlebarsConfiguration
{
FormatProvider = _settings.Culture
};
var handlebars = HandlebarsDotNet.Handlebars.Create(config);
WireMockHandlebarsHelpers.Register(handlebars, _settings.FileSystemHandler);
_settings.HandlebarsRegistrationCallback?.Invoke(handlebars, _settings.FileSystemHandler);
return new HandlebarsContext(handlebars, _settings.FileSystemHandler);
}
}