mutoid
Version:
Reactive library for data fetching, caching, state management
35 lines (34 loc) • 1.08 kB
JavaScript
/* istanbul ignore file */
import * as E from 'fp-ts/Either';
import { identity } from 'fp-ts/function';
import { Observable } from 'rxjs';
import { tap, map } from 'rxjs/operators';
// operators
/**
* @deprecated use chainFirst and fromIO from fp-ts-rxjs Observable module
*/
const runIOL = (c) => (t) => c(t)();
/**
* @deprecated use chainFirst and fromIO from fp-ts-rxjs Observable module
*/
export const chainFirstIO = (e) => source => source.pipe(tap(runIOL(e)));
/**
* @deprecated use chain and fromIO from fp-ts-rxjs Observable module
*/
export const chainIOK = (e) => source => source.pipe(map(runIOL(e)));
/**
* @deprecated use fromIO from fp-ts-rxjs Observable module
*/
export const runIO = () => source => source.pipe(map((f) => f()));
/**
* @deprecated wait for either toUnion
*/
export const extractE = () => source => source.pipe(map(E.getOrElse(identity)));
// constructors
/**
* @deprecated fromIO from fp-ts-rxjs Observable module
*/
export const fromIO = (i) => new Observable((observer) => {
observer.next(i());
observer.complete();
});