namespace Toolkit.Foundation; public class ConfigurationWriter(IConfigurationSource source) : IConfigurationWriter where TConfiguration : class { public void Write(Action updateDelegate) { if (source.TryGet(out TConfiguration? value)) { if (value is not null) { updateDelegate?.Invoke(value); Write(value); } } } public void Write(object value) => source.Set(value); public void Write(TConfiguration value) => source.Set(value); }