UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

294 lines 6.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.askAndProvide = exports.askAndUse = exports.useSomeWith = exports.provideSomeWith = exports.useAllWith = exports.provideAllWith = exports.FromReader = exports.fromReader = exports.Provide = exports.ProvideAll = exports.ProvideSome = exports.UseAll = exports.UseSome = exports.ChainRec = exports.Monad = 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.ask = exports.asks = exports.fromTask = exports.fromResume = exports.fromIO = exports.provideAll = exports.provideSome = exports.useAll = exports.useSome = exports.Do = exports.toEnv = exports.map = exports.liftEnv = exports.doEnv = exports.chainRec = exports.chain = exports.ap = exports.of = void 0; const tslib_1 = require("tslib"); const Ap = (0, tslib_1.__importStar)(require("fp-ts/Apply")); const Ch = (0, tslib_1.__importStar)(require("fp-ts/Chain")); const E = (0, tslib_1.__importStar)(require("./Env")); const function_1 = require("./function"); const FxT = (0, tslib_1.__importStar)(require("./FxT")); const P = (0, tslib_1.__importStar)(require("./Provide")); /** * @category Constructor * @since 0.13.0 */ exports.of = FxT.of(E.Pointed); /** * @category Combinator * @since 0.13.0 */ exports.ap = FxT.ap({ ...E.MonadRec, ...E.Apply }); /** * @category Combinator * @since 0.13.0 */ exports.chain = FxT.chain(); /** * @category Combinator * @since 0.13.0 */ exports.chainRec = FxT.chainRec(E.MonadRec); /** * @category Combinator * @since 0.13.0 */ exports.doEnv = FxT.getDo(); /** * @category Combinator * @since 0.13.0 */ exports.liftEnv = FxT.liftFx(); /** * @category Combinator * @since 0.13.0 */ exports.map = FxT.map(); /** * @category Interpreter * @since 0.13.0 */ exports.toEnv = FxT.toMonad(E.MonadRec); /** * @category Interpreter * @since 0.13.0 */ exports.Do = (0, function_1.flow)(exports.doEnv, exports.toEnv); /** * @category Combinator * @since 0.13.0 */ exports.useSome = FxT.useSome({ ...E.UseSome, ...E.MonadRec }); /** * @category Combinator * @since 0.13.0 */ exports.useAll = FxT.useAll({ ...E.UseAll, ...E.MonadRec }); /** * @category Combinator * @since 0.13.0 */ exports.provideSome = FxT.provideSome({ ...E.ProvideSome, ...E.MonadRec }); /** * @category Combinator * @since 0.13.0 */ exports.provideAll = FxT.provideAll({ ...E.ProvideAll, ...E.MonadRec }); /** * @category Constructor * @since 0.13.0 */ exports.fromIO = FxT.fromNaturalTransformation(E.fromIO); /** * @category Constructor * @since 0.13.0 */ exports.fromResume = FxT.fromNaturalTransformation(E.fromResume); /** * @category Constructor * @since 0.13.0 */ exports.fromTask = FxT.fromNaturalTransformation(E.fromTask); /** * @category ConstructorfromReader * @since 0.13.0 */ exports.asks = FxT.fromNaturalTransformation(E.fromReader); /** * @category Constructor * @since 0.13.0 */ exports.ask = FxT.ask(E.FromReader); /** * @category URI * @since 0.13.0 */ exports.URI = '@typed/fp/Fx/Env'; /** * @category Instance * @since 0.13.0 */ exports.Pointed = { of: exports.of, }; /** * @category Instance * @since 0.13.0 */ exports.Functor = { map: exports.map, }; /** * @category Instance * @since 0.13.0 */ exports.Apply = { ...exports.Functor, ap: exports.ap, }; /** * @category Combinator * @since 0.13.0 */ exports.apFirst = Ap.apFirst(exports.Apply); /** * @category Combinator * @since 0.13.0 */ exports.apFirstW = exports.apFirst; /** * @category Combinator * @since 0.13.0 */ exports.apS = Ap.apS(exports.Apply); /** * @category Combinator * @since 0.13.0 */ exports.apSW = exports.apS; /** * @category Combinator * @since 0.13.0 */ exports.apSecond = Ap.apSecond(exports.Apply); /** * @category Combinator * @since 0.13.0 */ exports.apSecondW = exports.apSecond; /** * @category Combinator * @since 0.13.0 */ exports.apT = Ap.apT(exports.Apply); /** * @category Combinator * @since 0.13.0 */ exports.apTW = exports.apT; /** * @category Combinator * @since 0.13.0 */ exports.getApplySemigroup = Ap.getApplySemigroup(exports.Apply); /** * @category Instance * @since 0.13.0 */ exports.Applicative = { ...exports.Apply, ...exports.Pointed, }; /** * @category Instance * @since 0.13.0 */ exports.Chain = { ...exports.Functor, chain: exports.chain, }; /** * @category Combinator * @since 0.13.0 */ exports.bind = Ch.bind(exports.Chain); /** * @category Combinator * @since 0.13.0 */ exports.chainFirst = Ch.chainFirst(exports.Chain); /** * @category Instance * @since 0.13.0 */ exports.Monad = { ...exports.Chain, ...exports.Pointed, }; /** * @category Instance * @since 0.13.0 */ exports.ChainRec = { chainRec: exports.chainRec, }; /** * @category Instance * @since 0.13.0 */ exports.UseSome = { useSome: exports.useSome, }; /** * @category Instance * @since 0.13.0 */ exports.UseAll = { useAll: exports.useAll, }; /** * @category Instance * @since 0.13.0 */ exports.ProvideSome = { provideSome: exports.provideSome, }; /** * @category Instance * @since 0.13.0 */ exports.ProvideAll = { provideAll: exports.provideAll, }; /** * @category Instance * @since 0.13.0 */ exports.Provide = { useSome: exports.useSome, useAll: exports.useAll, provideSome: exports.provideSome, provideAll: exports.provideAll, }; /** * @since 0.13.0 * @category Constructor */ exports.fromReader = (0, function_1.flow)(E.fromReader, exports.liftEnv); /** * @category Instance * @since 0.13.0 */ exports.FromReader = { fromReader: exports.fromReader, }; /** * @since 0.13.0 * @category Combinator */ exports.provideAllWith = P.provideAllWith({ ...exports.ProvideAll, ...exports.Chain }); /** * @since 0.13.0 * @category Combinator */ exports.useAllWith = P.useAllWith({ ...exports.UseAll, ...exports.Chain }); /** * @since 0.13.0 * @category Combinator */ exports.provideSomeWith = P.provideSomeWith({ ...exports.ProvideSome, ...exports.Chain }); /** * @since 0.13.0 * @category Combinator */ exports.useSomeWith = P.useSomeWith({ ...exports.UseSome, ...exports.Chain }); /** * @since 0.13.0 * @category Combinator */ exports.askAndUse = P.askAndUse({ ...exports.UseAll, ...exports.Chain, ...exports.FromReader }); /** * @since 0.13.0 * @category Combinator */ exports.askAndProvide = P.askAndProvide({ ...exports.ProvideAll, ...exports.Chain, ...exports.FromReader }); //# sourceMappingURL=FxEnv.js.map