You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
798 B
23 lines
798 B
9 months ago
|
using Autofac;
|
||
|
using Newtonsoft.Json;
|
||
|
|
||
|
namespace Recyclarr.TrashLib.Json;
|
||
|
|
||
|
public class JsonAutofacModule : Module
|
||
|
{
|
||
|
protected override void Load(ContainerBuilder builder)
|
||
|
{
|
||
|
base.Load(builder);
|
||
|
builder.Register<Func<JsonSerializerSettings, IBulkJsonLoader>>(c =>
|
||
|
{
|
||
|
return settings => new BulkJsonLoader(c.Resolve<ILogger>(), settings);
|
||
|
});
|
||
|
|
||
|
// Decorators for BulkJsonLoader. We do not use RegisterDecorator() here for these reasons:
|
||
|
// - We consume the BulkJsonLoader as a delegate factory, not by instance
|
||
|
// - We do not want all implementations of BulkJsonLoader to be decorated, only a specific implementation.
|
||
|
builder.RegisterType<GuideJsonLoader>();
|
||
|
builder.RegisterType<ServiceJsonLoader>();
|
||
|
}
|
||
|
}
|