fp-ts-rxjs icon indicating copy to clipboard operation
fp-ts-rxjs copied to clipboard

fold and foldTask?

Open pbadenski opened this issue 4 years ago • 1 comments

These can be easily written by a user, but I was wondering if it's worth adding to this library (or least have a section for recipes?). At least in our project these use cases are quite common.

const fold = <T, O extends ObservableInput<T>> (obs: Observable<O>) =>
  observable.chain<O, T>(t => from(t))(obs);

const foldTask = <T> (obs: Observable<task.Task<T>>) => {
  observable.chain<task.Task<T>, T>(t => from(t()))(obs);
};

pbadenski avatar Aug 07 '19 10:08 pbadenski

const fold = <T, O extends ObservableInput<T>> (obs: Observable<O>) =>
  observable.chain<O, T>(t => from(t))(obs);

@pbadenski fold Is an unsafe cast. Perhaps just use map(a => a as Observable<T>).

fromTask and fromObservable were added by #20 and #21.

foldTask is now just chain(fromTask), which seems like it should just be done inline, instead of being exposed as a helper function.

waynevanson avatar Oct 20 '20 06:10 waynevanson