UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

193 lines 4.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Alternative = exports.Alt = exports.MonadRec = exports.Monad = exports.ChainRec = exports.chainRec = exports.Chain = exports.Applicative = exports.Apply = exports.Functor = exports.Pointed = exports.URI = exports.zero = exports.some = exports.matchE = exports.match = exports.map = exports.getOrElseE = exports.getOrElse = exports.fromPredicate = exports.fromOptionK = exports.fromNullableK = exports.fromNullable = exports.fromResume = exports.fromEither = exports.chainOptionK = exports.chainNullableK = exports.chain = exports.ap = exports.alt = void 0; const tslib_1 = require("tslib"); const E = (0, tslib_1.__importStar)(require("fp-ts/Either")); const function_1 = require("fp-ts/function"); const O = (0, tslib_1.__importStar)(require("fp-ts/Option")); const OT = (0, tslib_1.__importStar)(require("fp-ts/OptionT")); const R = (0, tslib_1.__importStar)(require("./Resume")); /** * @since 0.9.2 * @category Combinator */ exports.alt = OT.alt(R.Monad); /** * @since 0.9.2 * @category Combinator */ exports.ap = OT.ap(R.Apply); /** * @since 0.9.2 * @category Combinator */ exports.chain = OT.chain(R.Monad); /** * @since 0.9.2 * @category Combinator */ exports.chainNullableK = OT.chainNullableK(R.Monad); /** * @since 0.9.2 * @category Combinator */ exports.chainOptionK = OT.chainOptionK(R.Monad); /** * @since 0.9.2 * @category Constructor */ exports.fromEither = OT.fromEither(R.Monad); /** * @since 0.9.2 * @category Constructor */ exports.fromResume = OT.fromF(R.Monad); /** * @since 0.9.2 * @category Constructor */ exports.fromNullable = OT.fromNullable(R.Pointed); /** * @since 0.9.2 * @category Constructor */ exports.fromNullableK = OT.fromNullableK(R.Pointed); /** * @since 0.9.2 * @category Constructor */ exports.fromOptionK = OT.fromOptionK(R.Pointed); /** * @since 0.9.2 * @category Constructor */ exports.fromPredicate = OT.fromPredicate(R.Pointed); /** * @since 0.9.2 * @category Deconstructor */ exports.getOrElse = OT.getOrElse(R.Functor); /** * @since 0.9.2 * @category Deconstructor */ exports.getOrElseE = OT.getOrElseE(R.Monad); /** * @since 0.9.2 * @category Combinator */ exports.map = OT.map(R.Functor); /** * @since 0.9.2 * @category Deconstructor */ exports.match = OT.match(R.Functor); /** * @since 0.9.2 * @category Deconstructor */ exports.matchE = OT.matchE(R.Chain); /** * @since 0.9.2 * @category Constructor */ exports.some = OT.some(R.Pointed); /** * @since 0.9.2 * @category Constructor */ exports.zero = OT.zero(R.Pointed); /** * @since 0.9.2 * @category URI */ exports.URI = '@typed/fp/ResumeOption'; /** * @since 0.9.2 * @category Instance */ exports.Pointed = { of: (0, function_1.flow)(O.some, R.of), }; /** * @since 0.9.2 * @category Instance */ exports.Functor = { map: exports.map, }; /** * @since 0.9.2 * @category Instance */ exports.Apply = { ...exports.Functor, ap: exports.ap, }; /** * @since 0.9.2 * @category Instance */ exports.Applicative = { ...exports.Apply, ...exports.Pointed, }; /** * @since 0.9.2 * @category Instance */ exports.Chain = { ...exports.Functor, chain: exports.chain, }; /** * @since 0.9.2 * @category Combinator */ const chainRec = (f) => R.chainRec((0, function_1.flow)(f, R.map((oe) => { if (O.isNone(oe)) { return E.right(oe); } return (0, function_1.pipe)(oe.value, E.map(O.some)); }))); exports.chainRec = chainRec; /** * @since 0.9.2 * @category Instance */ exports.ChainRec = { chainRec: exports.chainRec, }; /** * @since 0.9.2 * @category Instance */ exports.Monad = { ...exports.Chain, ...exports.Pointed, }; /** * @since 0.9.2 * @category Instance */ exports.MonadRec = { ...exports.Monad, ...exports.ChainRec, }; /** * @since 0.9.2 * @category Instance */ exports.Alt = { ...exports.Functor, alt: exports.alt, }; /** * @since 0.9.2 * @category Instance */ exports.Alternative = { ...exports.Alt, zero: exports.zero, }; //# sourceMappingURL=ResumeOption.js.map