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);
 }
Beispiel #3
0
 public IGremlinqOptions SetValue <TValue>(GremlinqOption <TValue> option, TValue value)
 {
     return(new GremlinqOptionsImpl(_dictionary.SetItem(option, value !)));
 }
Beispiel #4
0
 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));
 }
Beispiel #7
0
 public TValue GetValue <TValue>(GremlinqOption <TValue> option)
 {
     return((_dictionary != null && _dictionary.TryGetValue(option, out var value))
         ? (TValue)value
         : option.DefaultValue);
 }
Beispiel #8
0
 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)));
 }