Beispiel #1
0
 public static IValueBuilder Create(
     IValueBuilder left, IValueBuilder right,
     Func <NodeValue?, NodeValue?, NodeValue?> calculate,
     Func <IValue, IValue, string> identity) =>
 new ValueBuilderImpl(
     ps => Build(ps, left, right, calculate, identity),
     c => (ps => Build(ps, left.Resolve(c), right.Resolve(c), calculate, identity)));
Beispiel #2
0
 private static IValueBuilder Create(
     IValueBuilder operand,
     Func <NodeValue?, NodeValue?> calculate,
     Func <IValue, string> identity) =>
 new ValueBuilderImpl(
     ps => Build(ps, operand, calculate, identity),
     c => (ps => Build(ps, operand.Resolve(c), calculate, identity)));
Beispiel #3
0
            public IConditionalValueBuilder Then(IValueBuilder value)
            {
                IConditionalValueBuilder Resolve(ResolveContext context)
                {
                    return(new ConditionalValueBuilder(
                               $"{this.Resolve(context)} else if ({value.Resolve(context)})",
                               (current, _) => current));
                }

                return(new ConditionalValueBuilder($"{this} else if ({value})", (_, context) => Resolve(context)));
            }
Beispiel #4
0
 public IConditionBuilder InPastXSeconds(IValueBuilder seconds) =>
 new ValueConditionBuilder(ps => BuildInPastXSecondsValue(ps, seconds),
                           c => Resolve(c).InPastXSeconds(seconds.Resolve(c)));
 public IValueBuilder Resolve(ResolveContext context) =>
 _value.Resolve(context);