using System.Text.Json.Serialization; using Microsoft.Extensions.DependencyInjection; using Wabbajack.Paths; namespace Wabbajack.DTOs.JsonConverters; public static class DIExtensions { public static IServiceCollection AddDTOConverters(this IServiceCollection services) { Wabbajack_DTOs_DownloadStates_IDownloadStateConverter.ConfigureServices(services); Wabbajack_DTOs_DirectiveConverter.ConfigureServices(services); Wabbajack_DTOs_BSA_ArchiveStates_IArchiveConverter.ConfigureServices(services); Wabbajack_DTOs_BSA_FileStates_AFileConverter.ConfigureServices(services); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); return services; } public static IServiceCollection AddDTOSerializer(this IServiceCollection services) { services.AddSingleton(); services.AddSingleton(s => s.GetService()!.Options); return services; } }