@typed/fp
Version:
Data Structures and Resources for fp-ts
93 lines • 2.13 kB
JavaScript
;
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