using Elsa.Resilience.Options;
using Microsoft.Extensions.DependencyInjection;
// ReSharper disable once CheckNamespace
namespace Elsa.Resilience.Extensions;
///
/// extension methods for registering resilience strategy types
/// via .
///
public static class ResilienceServiceCollectionExtensions
{
///
/// Registers a resilience strategy type with .
///
public static IServiceCollection AddResilienceStrategy(this IServiceCollection services) =>
services.Configure(options => options.StrategyTypes.Add(typeof(T)));
///
/// Registers multiple resilience strategy types with .
///
public static IServiceCollection AddResilienceStrategies(this IServiceCollection services, IEnumerable types) =>
services.Configure(options =>
{
foreach (var type in types)
options.StrategyTypes.Add(type);
});
}