UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

243 lines 5.67 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.fromOption = exports.Provide = exports.ProvideAll = exports.ProvideSome = exports.UseAll = exports.UseSome = exports.ChainRec = exports.Monad = exports.Chain = exports.Applicative = exports.Apply = exports.Functor = exports.Pointed = exports.URI = exports.Do = exports.provideAll = exports.provideSome = exports.useAll = exports.useSome = exports.fromIO = exports.fromEnv = exports.fromEither = exports.asks = exports.ask = exports.toEnvEither = exports.map = exports.liftEnvEither = exports.doEnvEither = exports.chainRec = exports.chain = exports.ap = exports.of = void 0; const tslib_1 = require("tslib"); const EE = (0, tslib_1.__importStar)(require("./EnvEither")); 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(EE.Pointed); /** * @category Combinator * @since 0.13.0 */ exports.ap = FxT.ap({ ...EE.MonadRec, ...EE.Apply }); /** * @category Combinator * @since 0.13.0 */ exports.chain = FxT.chain(); /** * @category Combinator * @since 0.13.0 */ exports.chainRec = FxT.chainRec(EE.MonadRec); /** * @category Do * @since 0.13.0 */ exports.doEnvEither = FxT.getDo(); /** * @category Constructor * @since 0.13.0 */ exports.liftEnvEither = FxT.liftFx(); /** * @category Combinator * @since 0.13.0 */ exports.map = FxT.map(); /** * @category Interpreter * @since 0.13.0 */ exports.toEnvEither = FxT.toMonad(EE.MonadRec); /** * @category Constructor * @since 0.13.0 */ exports.ask = FxT.ask(EE.FromReader); /** * @category Constructor * @since 0.13.0 */ exports.asks = FxT.fromNaturalTransformation(EE.fromReader); /** * @category Constructor * @since 0.13.1 */ exports.fromEither = FxT.fromNaturalTransformation(EE.fromEither); /** * @category Constructor * @since 0.13.1 */ exports.fromEnv = FxT.fromNaturalTransformation(EE.fromEnv); /** * @category Constructor * @since 0.13.1 */ exports.fromIO = FxT.fromNaturalTransformation(EE.fromIO); /** * @category Combinator * @since 0.13.0 */ exports.useSome = FxT.useSome({ ...EE.UseSome, ...EE.MonadRec }); /** * @category Combinator * @since 0.13.0 */ exports.useAll = FxT.useAll({ ...EE.UseAll, ...EE.MonadRec }); /** * @category Combinator * @since 0.13.0 */ exports.provideSome = FxT.provideSome({ ...EE.ProvideSome, ...EE.MonadRec }); /** * @category Combinator * @since 0.13.0 */ exports.provideAll = FxT.provideAll({ ...EE.ProvideAll, ...EE.MonadRec }); /** * @category Interpreter * @since 0.13.0 */ exports.Do = (0, function_1.flow)(exports.doEnvEither, exports.toEnvEither); /** * @category URI * @since 0.13.0 */ exports.URI = '@typed/fp/Fx/EnvEither'; /** * @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 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 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.1 * @category Constructor */ const fromOption = (lazy) => (0, function_1.flow)(EE.fromOption(lazy), exports.liftEnvEither); exports.fromOption = fromOption; /** * @since 0.13.0 * @category Constructor */ exports.fromReader = (0, function_1.flow)(EE.fromReader, exports.liftEnvEither); /** * @since 0.13.0 * @category Instance */ 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=FxEnvEither.js.map