@typed/fp
Version:
Data Structures and Resources for fp-ts
243 lines • 5.67 kB
JavaScript
"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