Beispiel #1
0
 public ChainOperator(ChainOperator outerChain, T value)
 {
     this.data  = outerChain.data;
     this.index = outerChain.index + 1;
     this.data.Add(value);
 }
Beispiel #2
0
 public static T Return <T>(this ChainOperator <T> chain)
 => chain.data[chain.index].As <T>();
Beispiel #3
0
 public static ChainOperator <T> And <T>(this ChainOperator <T> chain, Action <T> actor)
 => chain.Pipe(actor);
Beispiel #4
0
 public static ChainOperator <N> Mutate <T, N>(this ChainOperator <T> chain, Func <T, N> actor)
 => new ChainOperator <N>(chain, actor(chain.Return()));
Beispiel #5
0
 public static R Return <T, R>(this ChainOperator <T> chain, Func <T, R> actor)
 => actor(chain.data[chain.index].As <T>());