This commit is contained in:
Daniel Clark
2022-12-09 22:54:51 +00:00
parent 4c8fd3dae4
commit 9d97d437a6
28 changed files with 517 additions and 512 deletions
@@ -2,27 +2,26 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.FileProviders;
namespace Toolkit.Foundation
namespace Toolkit.Foundation;
public class WritableJsonConfigurationSource : JsonConfigurationSource
{
public class WritableJsonConfigurationSource : JsonConfigurationSource
public IWritableJsonConfigurationBuilder? Factory { get; set; }
public override IConfigurationProvider Build(IConfigurationBuilder builder)
{
public IWritableJsonConfigurationBuilder? Factory { get; set; }
EnsureDefaultsWithSteam(builder);
return new WritableJsonConfigurationProvider(this);
}
public override IConfigurationProvider Build(IConfigurationBuilder builder)
private void EnsureDefaultsWithSteam(IConfigurationBuilder builder)
{
EnsureDefaults(builder);
if (FileProvider is PhysicalFileProvider physicalFileProvider)
{
EnsureDefaultsWithSteam(builder);
return new WritableJsonConfigurationProvider(this);
}
private void EnsureDefaultsWithSteam(IConfigurationBuilder builder)
{
EnsureDefaults(builder);
if (FileProvider is PhysicalFileProvider physicalFileProvider)
{
string? outputFile = System.IO.Path.Combine(physicalFileProvider.Root, Path);
Factory?.Build(outputFile);
}
string? outputFile = System.IO.Path.Combine(physicalFileProvider.Root, Path);
Factory?.Build(outputFile);
}
}
}