UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

370 lines 8.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UseSome = exports.FromReader = exports.fromIO = exports.FromIO = exports.Alternative = exports.altAll = exports.Alt = exports.MonadRec = exports.Monad = exports.ChainRec = exports.chainRec = exports.chainFirst = exports.bind = exports.Chain = exports.Applicative = exports.getApplySemigroup = exports.apTW = exports.apT = exports.apSecondW = exports.apSecond = exports.apSW = exports.apS = exports.apFirstW = exports.apFirst = exports.Apply = exports.Functor = exports.Pointed = exports.URI = exports.zero = exports.some = exports.matchEW = exports.matchE = exports.match = exports.map = exports.getOrElseEW = exports.getOrElseE = exports.getOrElseW = exports.getOrElse = exports.fromPredicate = exports.fromOptionK = exports.fromNullableK = exports.fromNullable = exports.fromReader = exports.fromEither = exports.chainOptionK = exports.chainNullableK = exports.chain = exports.ap = exports.altW = exports.alt = void 0; exports.local = exports.fromReaderK = exports.chainFirstReaderK = exports.chainReaderK = exports.asks = exports.ask = exports.Provide = exports.ProvideAll = exports.ProvideSome = exports.UseAll = void 0; const tslib_1 = require("tslib"); /** * ReaderOption is an OptionT of fp-ts/Reader * @since 0.9.2 */ const Alt_ = (0, tslib_1.__importStar)(require("fp-ts/Alt")); const Ap = (0, tslib_1.__importStar)(require("fp-ts/Apply")); const CH = (0, tslib_1.__importStar)(require("fp-ts/Chain")); const Ei = (0, tslib_1.__importStar)(require("fp-ts/Either")); const FR = (0, tslib_1.__importStar)(require("fp-ts/FromReader")); 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("./Reader")); /** * @since 0.9.2 * @category Combinator */ exports.alt = OT.alt(R.Monad); /** * @since 0.9.2 * @category Combinator */ exports.altW = 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.fromReader = 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.13.0 * @category Deconstructor */ exports.getOrElseW = exports.getOrElse; /** * @since 0.9.2 * @category Deconsructor */ exports.getOrElseE = OT.getOrElseE(R.Monad); /** * @since 0.9.2 * @category Deconstructor */ exports.getOrElseEW = 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.13.0 * @category Deconstructor */ exports.matchEW = exports.matchE; /** * @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/ReaderOption'; /** * @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.12.2 * @category Constructor */ exports.apFirst = Ap.apFirst(exports.Apply); /** * @since 0.12.2 * @category Constructor */ exports.apFirstW = exports.apFirst; /** * @since 0.12.2 * @category Constructor */ exports.apS = Ap.apS(exports.Apply); /** * @since 0.12.2 * @category Constructor */ exports.apSW = exports.apS; /** * @since 0.12.2 * @category Constructor */ exports.apSecond = Ap.apSecond(exports.Apply); /** * @since 0.12.2 * @category Constructor */ exports.apSecondW = exports.apSecond; /** * @since 0.12.2 * @category Constructor */ exports.apT = Ap.apT(exports.Apply); /** * @since 0.12.2 * @category Constructor */ exports.apTW = exports.apT; /** * @since 0.12.2 * @category Typeclass Instance */ exports.getApplySemigroup = Ap.getApplySemigroup(exports.Apply); /** * @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.12.2 * @category Constructor */ exports.bind = CH.bind(exports.Chain); /** * @since 0.12.2 * @category Constructor */ exports.chainFirst = CH.chainFirst(exports.Chain); /** * @since 0.9.2 * @category Combinator */ const chainRec = (f) => (value) => (0, function_1.pipe)(value, R.chainRec((a) => (0, function_1.pipe)(a, f, R.map((oe) => { if (O.isNone(oe)) { return Ei.right(oe); } return (0, function_1.pipe)(oe.value, Ei.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, chainRec: exports.chainRec, }; /** * @since 0.9.2 * @category Instance */ exports.Alt = { ...exports.Functor, alt: exports.alt, }; /** * @since 0.12.2 * @category Constructor */ exports.altAll = Alt_.altAll(exports.Alt); /** * @since 0.9.2 * @category Instance */ exports.Alternative = { ...exports.Alt, zero: exports.zero, }; /** * @since 0.9.2 * @category Instance */ exports.FromIO = { fromIO: exports.fromReader, }; /** * @since 0.9.2 * @category Constructor */ exports.fromIO = exports.FromIO.fromIO; /** * @since 0.9.2 * @category Instance */ exports.FromReader = { fromReader: exports.fromReader, }; /** * @since 0.9.2 * @category Instance */ exports.UseSome = { useSome: R.useSome, }; /** * @since 0.9.2 * @category Instance */ exports.UseAll = { useAll: R.useAll, }; /** * @since 0.9.2 * @category Instance */ exports.ProvideSome = { provideSome: R.provideSome, }; /** * @since 0.9.2 * @category Instance */ exports.ProvideAll = { provideAll: R.provideAll, }; /** * @since 0.9.2 * @category Instance */ exports.Provide = { ...exports.UseAll, ...exports.UseSome, ...exports.ProvideSome, ...exports.ProvideAll, }; /** * @since 0.9.2 * @category Constructor */ exports.ask = FR.ask(exports.FromReader); /** * @since 0.9.2 * @category Constructor */ exports.asks = FR.asks(exports.FromReader); /** * @since 0.9.2 * @category Combinator */ exports.chainReaderK = FR.chainReaderK(exports.FromReader, exports.Chain); /** * @since 0.9.2 * @category Combinator */ exports.chainFirstReaderK = FR.chainFirstReaderK(exports.FromReader, exports.Chain); /** * @since 0.9.2 * @category Constructor */ exports.fromReaderK = FR.fromReaderK(exports.FromReader); /** * @since 0.9.2 * @category Combinator */ const local = (f) => (ro) => (a) => ro(f(a)); exports.local = local; //# sourceMappingURL=ReaderOption.js.map