@typed/fp
Version:
Data Structures and Resources for fp-ts
88 lines • 1.58 kB
JavaScript
import { pipe } from 'fp-ts/function';
import * as RTE from 'fp-ts/ReaderTaskEither';
import { swapEithers } from './internal';
import * as RT from './ReaderTask';
/**
* @since 0.9.2
* @category Combinator
*/
export const chainRec = (f) => (value) => pipe(value, RT.chainRec((a) => pipe(a, f, RT.map(swapEithers))));
/**
* @since 0.9.2
* @category Instance
*/
export const ChainRec = {
chainRec,
};
/**
* @since 0.9.2
* @category Instance
*/
export const MonadRec = {
...RTE.Monad,
chainRec,
};
/**
* @since 0.9.2
* @category Instance
*/
export const UseSome = {
useSome: RT.useSome,
};
/**
* @since 0.9.2
* @category Combinator
*/
export const useSome = UseSome.useSome;
/**
* @since 0.9.2
* @category Instance
*/
export const ProvideSome = {
provideSome: RT.provideSome,
};
/**
* @since 0.9.2
* @category Combinator
*/
export const provideSome = ProvideSome.provideSome;
/**
* @since 0.9.2
* @category Instance
*/
export const UseAll = {
useAll: RT.useAll,
};
/**
* @since 0.9.2
* @category Combinator
*/
export const useAll = UseAll.useAll;
/**
* @since 0.9.2
* @category Instance
*/
export const ProvideAll = {
provideAll: RT.provideAll,
};
/**
* @since 0.9.2
* @category Combinator
*/
export const provideAll = ProvideAll.provideAll;
/**
* @since 0.9.2
* @category Instance
*/
export const Provide = {
...UseSome,
...UseAll,
...ProvideSome,
...ProvideAll,
};
/**
* @since 0.9.2
* @category Combinator
*/
export * from 'fp-ts/ReaderTaskEither';
//# sourceMappingURL=ReaderTaskEither.js.map