@typed/fp
Version:
Data Structures and Resources for fp-ts
294 lines • 6.71 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.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