예제 #1
0
 private static ILease <Y> Do <X, Y>(this ILendable <Y> output, Action <X, Y> render, ILease <X> lease)
 {
     return(lease.Extract(value =>
     {
         var target = output.GetLease();
         render(value, target.Value);
         return target;
     }));
 }
예제 #2
0
 public ILease <TValue> GetLease()
 {
     return(m_Value.GetLease());
 }
예제 #3
0
 public static ILendable <A> MakeLazy <A>(this ILendable <A> lendable)
 {
     return(new Deferred <A>(() => new Lazy <A>(() => lendable.GetLease())));
 }
예제 #4
0
 public static B Extract <A, B>(this ILendable <A> lendable, Func <A, B> callback)
 {
     return(lendable.GetLease().Extract(callback));
 }
예제 #5
0
 public static void Extract <A>(this ILendable <A> lendable, Action <A> callback)
 {
     lendable.GetLease().Extract(callback);
 }
예제 #6
0
 public Mapped(ILendable <TInput> lendable, Func <ILease <TInput>, ILease <TOutput> > func)
     : base(() => func(lendable.GetLease()))
 {
 }