UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

88 lines 1.58 kB
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