Skip to content
This repository was archived by the owner on May 25, 2023. It is now read-only.

Commit dc68ad2

Browse files
committed
Issue #6 - Returning IServiceCollection from all AddAutoMapper overloads.
1 parent 3d49487 commit dc68ad2

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

src/AutoMapper.Extensions.Microsoft.DependencyInjection/ServiceCollectionExtensions.cs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@ public static class ServiceCollectionExtensions
1515

1616
private static readonly Action<IMapperConfigurationExpression> DefaultConfig = cfg => { };
1717
#if DEPENDENCY_MODEL
18-
public static void AddAutoMapper(this IServiceCollection services)
18+
public static IServiceCollection AddAutoMapper(this IServiceCollection services)
1919
{
20-
services.AddAutoMapper(null, DependencyContext.Default);
20+
return services.AddAutoMapper(null, DependencyContext.Default);
2121
}
2222

23-
public static void AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction)
23+
public static IServiceCollection AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction)
2424
{
25-
services.AddAutoMapper(additionalInitAction, DependencyContext.Default);
25+
return services.AddAutoMapper(additionalInitAction, DependencyContext.Default);
2626
}
2727

28-
public static void AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, DependencyContext dependencyContext)
28+
public static IServiceCollection AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, DependencyContext dependencyContext)
2929
{
30-
services.AddAutoMapper(additionalInitAction,
30+
return services.AddAutoMapper(additionalInitAction,
3131
dependencyContext.RuntimeLibraries
3232
// Only load assemblies that reference AutoMapper
3333
.Where(lib =>
@@ -38,38 +38,38 @@ public static void AddAutoMapper(this IServiceCollection services, Action<IMappe
3838
}
3939
#endif
4040

41-
public static void AddAutoMapper(this IServiceCollection services, params Assembly[] assemblies)
41+
public static IServiceCollection AddAutoMapper(this IServiceCollection services, params Assembly[] assemblies)
4242
{
43-
AddAutoMapperClasses(services, null, assemblies);
43+
return AddAutoMapperClasses(services, null, assemblies);
4444
}
4545

46-
public static void AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, params Assembly[] assemblies)
46+
public static IServiceCollection AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, params Assembly[] assemblies)
4747
{
48-
AddAutoMapperClasses(services, additionalInitAction, assemblies);
48+
return AddAutoMapperClasses(services, additionalInitAction, assemblies);
4949
}
5050

51-
public static void AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, IEnumerable<Assembly> assemblies)
51+
public static IServiceCollection AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, IEnumerable<Assembly> assemblies)
5252
{
53-
AddAutoMapperClasses(services, additionalInitAction, assemblies);
53+
return AddAutoMapperClasses(services, additionalInitAction, assemblies);
5454
}
5555

56-
public static void AddAutoMapper(this IServiceCollection services, params Type[] profileAssemblyMarkerTypes)
56+
public static IServiceCollection AddAutoMapper(this IServiceCollection services, params Type[] profileAssemblyMarkerTypes)
5757
{
58-
AddAutoMapperClasses(services, null, profileAssemblyMarkerTypes.Select(t => t.GetTypeInfo().Assembly));
58+
return AddAutoMapperClasses(services, null, profileAssemblyMarkerTypes.Select(t => t.GetTypeInfo().Assembly));
5959
}
6060

61-
public static void AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, params Type[] profileAssemblyMarkerTypes)
61+
public static IServiceCollection AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, params Type[] profileAssemblyMarkerTypes)
6262
{
63-
AddAutoMapperClasses(services, additionalInitAction, profileAssemblyMarkerTypes.Select(t => t.GetTypeInfo().Assembly));
63+
return AddAutoMapperClasses(services, additionalInitAction, profileAssemblyMarkerTypes.Select(t => t.GetTypeInfo().Assembly));
6464
}
6565

66-
public static void AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, IEnumerable<Type> profileAssemblyMarkerTypes)
66+
public static IServiceCollection AddAutoMapper(this IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, IEnumerable<Type> profileAssemblyMarkerTypes)
6767
{
68-
AddAutoMapperClasses(services, additionalInitAction, profileAssemblyMarkerTypes.Select(t => t.GetTypeInfo().Assembly));
68+
return AddAutoMapperClasses(services, additionalInitAction, profileAssemblyMarkerTypes.Select(t => t.GetTypeInfo().Assembly));
6969
}
7070

7171

72-
private static void AddAutoMapperClasses(IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, IEnumerable<Assembly> assembliesToScan)
72+
private static IServiceCollection AddAutoMapperClasses(IServiceCollection services, Action<IMapperConfigurationExpression> additionalInitAction, IEnumerable<Assembly> assembliesToScan)
7373
{
7474
additionalInitAction = additionalInitAction ?? DefaultConfig;
7575
assembliesToScan = assembliesToScan as Assembly[] ?? assembliesToScan.ToArray();
@@ -109,7 +109,7 @@ private static void AddAutoMapperClasses(IServiceCollection services, Action<IMa
109109
}
110110

111111
services.AddSingleton(Mapper.Configuration);
112-
services.AddScoped<IMapper>(sp => new Mapper(sp.GetRequiredService<IConfigurationProvider>(), sp.GetService));
112+
return services.AddScoped<IMapper>(sp => new Mapper(sp.GetRequiredService<IConfigurationProvider>(), sp.GetService));
113113
}
114114

115115
private static bool ImplementsGenericInterface(this Type type, Type interfaceType)

0 commit comments

Comments
 (0)