Skip to content

Commit 02024bc

Browse files
authored
Merge pull request #21 from Atypical-Consulting/serviceCollectionExtensions
Add virtual file system extension method
2 parents 82f7730 + c8ad5ba commit 02024bc

File tree

6 files changed

+77
-0
lines changed

6 files changed

+77
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#### [Atypical.VirtualFileSystem.Core](VirtualFileSystem.md 'VirtualFileSystem')
2+
### [Atypical.VirtualFileSystem.Core.Services](VirtualFileSystem.md#Atypical.VirtualFileSystem.Core.Services 'Atypical.VirtualFileSystem.Core.Services').[ServiceCollectionExtensions](ServiceCollectionExtensions.md 'Atypical.VirtualFileSystem.Core.Services.ServiceCollectionExtensions')
3+
4+
## ServiceCollectionExtensions.AddVirtualFileSystem(this IServiceCollection) Method
5+
6+
Registers the virtual file system in the dependency injection container.
7+
8+
```csharp
9+
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddVirtualFileSystem(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);
10+
```
11+
#### Parameters
12+
13+
<a name='Atypical.VirtualFileSystem.Core.Services.ServiceCollectionExtensions.AddVirtualFileSystem(thisMicrosoft.Extensions.DependencyInjection.IServiceCollection).services'></a>
14+
15+
`services` [Microsoft.Extensions.DependencyInjection.IServiceCollection](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.Extensions.DependencyInjection.IServiceCollection 'Microsoft.Extensions.DependencyInjection.IServiceCollection')
16+
17+
The service collection.
18+
19+
#### Returns
20+
[Microsoft.Extensions.DependencyInjection.IServiceCollection](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.Extensions.DependencyInjection.IServiceCollection 'Microsoft.Extensions.DependencyInjection.IServiceCollection')
21+
The service collection.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#### [Atypical.VirtualFileSystem.Core](VirtualFileSystem.md 'VirtualFileSystem')
2+
### [Atypical.VirtualFileSystem.Core.Services](VirtualFileSystem.md#Atypical.VirtualFileSystem.Core.Services 'Atypical.VirtualFileSystem.Core.Services')
3+
4+
## ServiceCollectionExtensions Class
5+
6+
Extension methods for [Microsoft.Extensions.DependencyInjection.IServiceCollection](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.Extensions.DependencyInjection.IServiceCollection 'Microsoft.Extensions.DependencyInjection.IServiceCollection').
7+
This class is used to register the virtual file system in the dependency injection container.
8+
9+
```csharp
10+
public static class ServiceCollectionExtensions
11+
```
12+
13+
Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') &#129106; ServiceCollectionExtensions
14+
15+
| Methods | |
16+
| :--- | :--- |
17+
| [AddVirtualFileSystem(this IServiceCollection)](ServiceCollectionExtensions.AddVirtualFileSystem(thisIServiceCollection).md 'Atypical.VirtualFileSystem.Core.Services.ServiceCollectionExtensions.AddVirtualFileSystem(this Microsoft.Extensions.DependencyInjection.IServiceCollection)') | Registers the virtual file system in the dependency injection container. |

docs/api/VirtualFileSystem.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,13 @@
232232
- **[ToString()](RootNode.ToString().md 'Atypical.VirtualFileSystem.Core.Models.RootNode.ToString()')** `Method` Returns a string that represents the current object.
233233
For [RootNode](RootNode.md 'Atypical.VirtualFileSystem.Core.Models.RootNode') this is always the constant string <cref see="ROOT_PATH"/>.
234234

235+
<a name='Atypical.VirtualFileSystem.Core.Services'></a>
236+
237+
## Atypical.VirtualFileSystem.Core.Services Namespace
238+
- **[ServiceCollectionExtensions](ServiceCollectionExtensions.md 'Atypical.VirtualFileSystem.Core.Services.ServiceCollectionExtensions')** `Class` Extension methods for [Microsoft.Extensions.DependencyInjection.IServiceCollection](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.Extensions.DependencyInjection.IServiceCollection 'Microsoft.Extensions.DependencyInjection.IServiceCollection').
239+
This class is used to register the virtual file system in the dependency injection container.
240+
- **[AddVirtualFileSystem(this IServiceCollection)](ServiceCollectionExtensions.AddVirtualFileSystem(thisIServiceCollection).md 'Atypical.VirtualFileSystem.Core.Services.ServiceCollectionExtensions.AddVirtualFileSystem(this Microsoft.Extensions.DependencyInjection.IServiceCollection)')** `Method` Registers the virtual file system in the dependency injection container.
241+
235242
<a name='Atypical.VirtualFileSystem.Core.ValueObjects'></a>
236243

237244
## Atypical.VirtualFileSystem.Core.ValueObjects Namespace

docs/links

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ M:Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.#ctor|VFSRootPath.VFS
5151
M:Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.ToString|VFSRootPath.ToString().md|ToString()
5252
M:Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath.op_Implicit(Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath)~System.String|VFSRootPath.implicitoperatorstring(VFSRootPath).md|implicit operator string(VFSRootPath)
5353
T:Atypical.VirtualFileSystem.Core.ValueObjects.VFSRootPath|VFSRootPath.md|VFSRootPath
54+
M:Atypical.VirtualFileSystem.Core.Services.ServiceCollectionExtensions.AddVirtualFileSystem(Microsoft.Extensions.DependencyInjection.IServiceCollection)|ServiceCollectionExtensions.AddVirtualFileSystem(thisIServiceCollection).md|AddVirtualFileSystem(this IServiceCollection)
55+
N:Atypical.VirtualFileSystem.Core.Services|VirtualFileSystem.md#Atypical.VirtualFileSystem.Core.Services|Atypical.VirtualFileSystem.Core.Services
56+
T:Atypical.VirtualFileSystem.Core.Services.ServiceCollectionExtensions|ServiceCollectionExtensions.md|ServiceCollectionExtensions
5457
P:Atypical.VirtualFileSystem.Core.Models.DirectoryNode.Path|DirectoryNode.Path.md|Path
5558
P:Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsDirectory|DirectoryNode.IsDirectory.md|IsDirectory
5659
P:Atypical.VirtualFileSystem.Core.Models.DirectoryNode.IsFile|DirectoryNode.IsFile.md|IsFile

src/Atypical.VirtualFileSystem.Core/Atypical.VirtualFileSystem.Core.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<PrivateAssets>all</PrivateAssets>
2727
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2828
</PackageReference>
29+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
2930
</ItemGroup>
3031

3132
<!-- NuGet metadata -->
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Copyright (c) 2022, Atypical Consulting SRL
2+
// All rights reserved.
3+
//
4+
// This source code is licensed under the BSD-style license found in the
5+
// LICENSE file in the root directory of this source tree.
6+
7+
using Microsoft.Extensions.DependencyInjection;
8+
using Microsoft.Extensions.DependencyInjection.Extensions;
9+
10+
namespace Atypical.VirtualFileSystem.Core.Services;
11+
12+
/// <summary>
13+
/// Extension methods for <see cref="IServiceCollection" />.
14+
/// This class is used to register the virtual file system in the dependency injection container.
15+
/// </summary>
16+
public static class ServiceCollectionExtensions
17+
{
18+
/// <summary>
19+
/// Registers the virtual file system in the dependency injection container.
20+
/// </summary>
21+
/// <param name="services">The service collection.</param>
22+
/// <returns>The service collection.</returns>
23+
public static IServiceCollection AddVirtualFileSystem(this IServiceCollection services)
24+
{
25+
services.TryAddScoped<IVirtualFileSystem, VFS>();
26+
return services;
27+
}
28+
}

0 commit comments

Comments
 (0)