public static ICompositeSet <TResult> Select <TSource, TResult> (this ICompositeSet <TSource> m , Func <TSource, TResult> f ) => m.Bind(x => { var data = new CompositeSourceSet <TResult>(); data.Source = data.Source.Add(f(x)); return(data); });
public static ICompositeSet <TResult> SelectMany <TSource, TICompositeSet, TResult> (this ICompositeSet <TSource> m , Func <TSource, ICompositeSet <TICompositeSet> > f , Func <TSource, TICompositeSet, TResult> g ) => m.Bind(x => f(x).Bind(y => { var data = new CompositeSourceSet <TResult>(); data.Source = data.Source.Add(g(x, y)); return(data); }));
public CompositeSet(ICompositeSet <T> left, ICompositeSet <T> right) { _Left = left; _Right = right; Items = _Left.Items.CombineLatest (_Right.Items, (a, b) => a.Union(b)) .Replay(1) .RefCount(); }
public static CompositeSetSubscription <T> Subscribe <T> (this ICompositeSet <T> @this) => new CompositeSetSubscription <T>(@this);
public static ICompositeSet <TResult> SelectMany <TSource, TResult> (this ICompositeSet <TSource> m , Func <TSource, ICompositeSet <TResult> > f ) => m.Bind(f);
public CompositeSetSubscription(ICompositeSet <T> list) { _Items = list.Items.ToProperty(this, p => p.Items); }