using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; namespace StellaOps.Evidence.Bundle; public static class ServiceCollectionExtensions { public static IServiceCollection AddEvidenceBundleServices(this IServiceCollection services) { ArgumentNullException.ThrowIfNull(services); services.TryAddSingleton(TimeProvider.System); services.TryAddTransient(); return services; } public static IServiceCollection AddEvidenceBundleServices(this IServiceCollection services, TimeProvider timeProvider) { ArgumentNullException.ThrowIfNull(services); ArgumentNullException.ThrowIfNull(timeProvider); services.AddSingleton(timeProvider); services.TryAddTransient(); return services; } }