Ejemplo n.º 1
0
 public static void SyncReadOnly <TSource, TTarget>(this IValueMonitor <TTarget> valueMonitor,
                                                    IValueObservable <TSource> ob,
                                                    Func <TSource, TTarget> convertToTarget)
 {
     valueMonitor.Observe(ob.Select(convertToTarget),
                          convertToTarget(ob.Value));
 }
Ejemplo n.º 2
0
 public static void Sync <TSource, TTarget>(this IValueMonitor <TTarget> valueMonitor,
                                            IValueObservable <TSource> ob,
                                            Func <TSource, TTarget> convertToTarget,
                                            Func <TTarget, TSource> convertToSource)
 {
     valueMonitor.Observe(ob.Select(convertToTarget),
                          convertToTarget(ob.Value),
                          x => { ob.Value = convertToSource(x); });
 }
Ejemplo n.º 3
0
 public static IObservable <Unit> toEventSource <A>(this IValueObservable <A> o)
 {
     return(o.toEventSource(_ => F.unit));
 }
Ejemplo n.º 4
0
 /**
  * Convert IValueObservable<A> to IObservable<B>.
  *
  * Useful for converting from RxVal to event source. For example
  * ```someRxVal.map(_ => F.unit)``` would only emit one event, because
  * the backing value would still be IValueObservable.
  *
  * Thus we'd need to use ```someRxVal.toEventSource(_ => F.unit)```.
  **/
 public static IObservable <B> toEventSource <A, B>(
     this IValueObservable <A> o, Fn <A, B> mapper
     )
 {
     return(new Observable <B>(obs => o.subscribe(v => obs.push(mapper(v)))));
 }
Ejemplo n.º 5
0
 public static void Sync <T>(this IValueMonitor <T> valueMonitor, IValueObservable <T> ob)
 {
     valueMonitor.Observe(ob, ob.Value, x => { ob.Value = x; });
 }