public Option <bool> ReadEnvironmentVariableBool(EnvEntries value) { return(Environment.GetEnvironmentVariable(value.ToString()).SomeNotNull().Match( some: variable => bool.TryParse(variable, out var boolVariable) ? Option.Some(boolVariable) : LogAndReturnNone <bool>(value.ToString(), variable), none: () => { Log.Warning($"No entry found for environment variable {value}"); return Option.None <bool>(); } )); }
public Option <string> ReadEnvironmentVariableString(EnvEntries value, bool returnEmptyStringIfNoValue = false) { //Put some sugar here to tell why the container stops. return(Environment.GetEnvironmentVariable(value.ToString()).SomeNotNull().Match( some: Option.Some, none: () => { if (returnEmptyStringIfNoValue) { return Option.Some(string.Empty); } Log.Information($"No entry found for environment variable {value}"); return Option.None <string>(); } )); }
private Option <string> CheckEnvironmentOfString(EnvEntries entryKey) { return(_configurationFactory .ReadEnvironmentVariable(entryKey.ToString())); }
private Option <int> CheckEnvironmentOfInt(EnvEntries entryKey) { return(_configurationFactory .ReadEnvironmentVariable(entryKey.ToString()) .FlatMap(valueString => int.TryParse(valueString, out var valueInt) ? Option.Some(valueInt) : Option.None <int>())); }