Files
git.stella-ops.org/src/BinaryIndex/__Libraries/StellaOps.Symbols.Infrastructure/ServiceCollectionExtensions.cs

34 lines
1.2 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using StellaOps.Symbols.Core.Abstractions;
using StellaOps.Symbols.Infrastructure.Resolution;
using StellaOps.Symbols.Infrastructure.Storage;
namespace StellaOps.Symbols.Infrastructure;
/// <summary>
/// Service collection extensions for Symbols infrastructure.
/// </summary>
public static class ServiceCollectionExtensions
{
/// <summary>
/// Adds in-memory symbol services for development and testing.
/// </summary>
public static IServiceCollection AddSymbolsInMemory(this IServiceCollection services)
{
services.TryAddSingleton<ISymbolRepository, InMemorySymbolRepository>();
services.TryAddSingleton<ISymbolBlobStore, InMemorySymbolBlobStore>();
services.TryAddSingleton<ISymbolResolver, DefaultSymbolResolver>();
return services;
}
/// <summary>
/// Adds the default symbol resolver.
/// </summary>
public static IServiceCollection AddSymbolResolver(this IServiceCollection services)
{
services.TryAddSingleton<ISymbolResolver, DefaultSymbolResolver>();
return services;
}
}