UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

93 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Provide = exports.provideAll = exports.ProvideAll = exports.useAll = exports.UseAll = exports.provideSome = exports.ProvideSome = exports.useSome = exports.UseSome = exports.MonadRec = exports.ChainRec = exports.chainRec = void 0; const tslib_1 = require("tslib"); const function_1 = require("fp-ts/function"); const RTE = (0, tslib_1.__importStar)(require("fp-ts/ReaderTaskEither")); const internal_1 = require("./internal"); const RT = (0, tslib_1.__importStar)(require("./ReaderTask")); /** * @since 0.9.2 * @category Combinator */ const chainRec = (f) => (value) => (0, function_1.pipe)(value, RT.chainRec((a) => (0, function_1.pipe)(a, f, RT.map(internal_1.swapEithers)))); exports.chainRec = chainRec; /** * @since 0.9.2 * @category Instance */ exports.ChainRec = { chainRec: exports.chainRec, }; /** * @since 0.9.2 * @category Instance */ exports.MonadRec = { ...RTE.Monad, chainRec: exports.chainRec, }; /** * @since 0.9.2 * @category Instance */ exports.UseSome = { useSome: RT.useSome, }; /** * @since 0.9.2 * @category Combinator */ exports.useSome = exports.UseSome.useSome; /** * @since 0.9.2 * @category Instance */ exports.ProvideSome = { provideSome: RT.provideSome, }; /** * @since 0.9.2 * @category Combinator */ exports.provideSome = exports.ProvideSome.provideSome; /** * @since 0.9.2 * @category Instance */ exports.UseAll = { useAll: RT.useAll, }; /** * @since 0.9.2 * @category Combinator */ exports.useAll = exports.UseAll.useAll; /** * @since 0.9.2 * @category Instance */ exports.ProvideAll = { provideAll: RT.provideAll, }; /** * @since 0.9.2 * @category Combinator */ exports.provideAll = exports.ProvideAll.provideAll; /** * @since 0.9.2 * @category Instance */ exports.Provide = { ...exports.UseSome, ...exports.UseAll, ...exports.ProvideSome, ...exports.ProvideAll, }; /** * @since 0.9.2 * @category Combinator */ (0, tslib_1.__exportStar)(require("fp-ts/ReaderTaskEither"), exports); //# sourceMappingURL=ReaderTaskEither.js.map