public TValue GetValue <TValue>(GremlinqOption <TValue> option) { return((_options?.TryGetValue(option)) .ToOption() .Bind(x => x) .Map(optionValue => (TValue)optionValue) .IfNone(option.DefaultValue)); }
public TValue GetValue <TValue>(GremlinqOption <TValue> option) { return(_dictionary .Fast() .TryGetValue(option, out var value) ? (TValue)value ! : option.DefaultValue); }
public IGremlinqOptions SetValue <TValue>(GremlinqOption <TValue> option, TValue value) { return(new GremlinqOptionsImpl(_dictionary.SetItem(option, value !))); }
public IGremlinqOptions ConfigureValue <TValue>(GremlinqOption <TValue> option, Func <TValue, TValue> configuration) { return(new GremlinqOptionsImpl(_dictionary.SetItem(option, configuration(GetValue(option)) !))); }
public static IImmutableDictionary <GremlinqOption, object> ConfigureValue <TValue>(this IImmutableDictionary <GremlinqOption, object> options, GremlinqOption <TValue> option, Func <TValue, TValue> configuration) { return(options.SetItem(option, configuration(options.GetValue(option)))); }
public static TValue GetValue <TValue>(this IImmutableDictionary <GremlinqOption, object> options, GremlinqOption <TValue> option) { return((options?.TryGetValue(option)) .ToOption() .Bind(x => x) .Map(optionValue => (TValue)optionValue) .IfNone(option.DefaultValue)); }
public TValue GetValue <TValue>(GremlinqOption <TValue> option) { return((_dictionary != null && _dictionary.TryGetValue(option, out var value)) ? (TValue)value : option.DefaultValue); }
public IGremlinqOptions ConfigureValue <TValue>(GremlinqOption <TValue> option, Func <TValue, TValue> configuration) => new GremlinqOptionsImpl(_dictionary
public GremlinqOptions ConfigureValue <TValue>(GremlinqOption <TValue> option, Func <TValue, TValue> configuration) { return(SetValue(option, configuration(GetValue(option)))); }
public GremlinqOptions SetValue <TValue>(GremlinqOption <TValue> option, TValue value) { return(new GremlinqOptions(_options ?? ImmutableDictionary <GremlinqOption, object> .Empty.SetItem(option, value))); }