@typed/fp
Version:
Data Structures and Resources for fp-ts
31 lines • 920 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MonadRec = exports.ChainRec = exports.chainRec = void 0;
const tslib_1 = require("tslib");
const IO = (0, tslib_1.__importStar)(require("fp-ts/IO"));
const IOE = (0, tslib_1.__importStar)(require("fp-ts/IOEither"));
const function_1 = require("./function");
const internal_1 = require("./internal");
/**
* @since 0.9.2
* @category Combinator
*/
const chainRec = (f) => (value) => (0, function_1.pipe)(value, IO.chainRec((a) => (0, function_1.pipe)(a, f, IO.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 = {
...IOE.Monad,
...exports.ChainRec,
};
(0, tslib_1.__exportStar)(require("fp-ts/IOEither"), exports);
//# sourceMappingURL=IOEither.js.map