public static T ReadWithDefault <T>(this TomlConfigSettings settings, T defaultInstance) { using (settings) { var reader = new TomlConfigReader(settings); return((T)reader .ReadWithDefault(settings.Data.Stream, defaultInstance) .WithOverrides <T>(settings.Overrides)); } }
public static T Read <T>(this TomlConfigSettings settings) { using (settings) { var reader = new TomlConfigReader(settings); return((T)reader .Read <T>(settings.Data.Stream, settings.Data.Path) .WithOverrides <T>(settings.Overrides)); } }
public static TomlConfigSettings WithOverrideFromEnvironmentVariables(this TomlConfigSettings settings) { IEnumerable <(string, string)> Enumerate() { foreach (DictionaryEntry kv in Environment.GetEnvironmentVariables()) { yield return(kv.Key.ToString(), kv.Value?.ToString()); } } settings.WithOverrides(Enumerate().ToDictionary(x => x.Item1, x => x.Item2)); return(settings); }
public static TomlConfigSettings WithOverride(this TomlConfigSettings settings, string propertyName, string value) { settings.Overrides[propertyName] = value; return(settings); }
public static TomlConfigSettings WithOverrides(this TomlConfigSettings settings, Dictionary <string, string> overrides) { settings.Overrides = overrides; return(settings); }
public static TomlConfigSettings WithMasterKey(this TomlConfigSettings settings, string masterKey) { settings.CustomTypeConverters.Insert(0, new PasswordTypeConverter(new SecretKeeper(masterKey))); return(settings); }
public static TomlConfigSettings WithCustomTypeConverter(this TomlConfigSettings settings, ITypeConverter converter) { settings.CustomTypeConverters.Add(converter); return(settings); }
public TomlConfigReader(TomlConfigSettings settings) { this.settings = settings; }