Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@patroza
Created August 20, 2016 11:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save patroza/60fd3620b0a8c635ee7f8aeb9917a217 to your computer and use it in GitHub Desktop.
Save patroza/60fd3620b0a8c635ee7f8aeb9917a217 to your computer and use it in GitHub Desktop.
public static IObservable<TResult> FromTdf<T, TResult>(this IObservable<T> source,
Func<IPropagatorBlock<T, TResult>> blockFactory) => Observable.Create<TResult>(observer => {
var block = blockFactory();
var dsp1 = block.AsObservable().Subscribe(observer.OnNext);
var dsp2 = source.Subscribe(block.AsObserver());
return new CompositeDisposable {dsp2, dsp1};
});
public static IObservable<TResult> FromTdf<T, TResult>(this IObservable<T> source,
IPropagatorBlock<T, TResult> block) => source.FromTdf(() => block);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment