@typed/fp
Version:
Data Structures and Resources for fp-ts
420 lines • 10.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.filterOrElse = exports.chainOptionK = exports.chainEitherK = exports.fromIOK = exports.chainIOK = exports.chainFirstIOK = exports.fromTaskK = exports.chainTaskK = exports.chainFirstTaskK = exports.fromEnvK = exports.chainFirstEnvK = exports.chainEnvK = exports.fromResumeK = exports.chainResumeK = exports.chainFirstResumeK = exports.fromReaderK = exports.chainReaderK = exports.asks = exports.ask = exports.FromReader = exports.fromReader = exports.FromState = exports.FromEnv = exports.fromEnv = exports.FromResume = exports.fromResume = exports.FromTask = exports.fromTask = exports.FromIO = exports.fromIO = exports.FromEither = exports.fromEither = exports.MonadRec = exports.ChainRec = exports.chainRec = exports.Monad = exports.Chain = exports.Applicative = exports.Apply = exports.Functor = exports.Pointed = exports.URI = exports.of = exports.map = exports.fromState = exports.fromEnvEither = exports.execute = exports.evaluate = exports.chain = exports.ap = void 0;
exports.Provide = exports.ProvideAll = exports.ProvideSome = exports.UseAll = exports.UseSome = exports.provideAll = exports.useAll = exports.provideSome = exports.useSome = exports.put = exports.modify = exports.gets = exports.get = exports.fromStateK = exports.chainStateK = exports.fromPredicate = exports.fromOptionK = exports.fromOption = exports.fromEitherK = void 0;
const tslib_1 = require("tslib");
const E = (0, tslib_1.__importStar)(require("fp-ts/Either"));
const FEi = (0, tslib_1.__importStar)(require("fp-ts/FromEither"));
const FIO = (0, tslib_1.__importStar)(require("fp-ts/FromIO"));
const FR = (0, tslib_1.__importStar)(require("fp-ts/FromReader"));
const FS = (0, tslib_1.__importStar)(require("fp-ts/FromState"));
const FT = (0, tslib_1.__importStar)(require("fp-ts/FromTask"));
const function_1 = require("fp-ts/function");
const ST = (0, tslib_1.__importStar)(require("fp-ts/StateT"));
const FE = (0, tslib_1.__importStar)(require("./FromEnv"));
const FRe = (0, tslib_1.__importStar)(require("./FromResume"));
const RSE = (0, tslib_1.__importStar)(require("./ReaderStreamEither"));
/**
* @since 0.9.2
* @category Combinator
*/
exports.ap = ST.ap(RSE.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chain = ST.chain(RSE.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.evaluate = ST.evaluate(RSE.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.execute = ST.execute(RSE.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromEnvEither = ST.fromF(RSE.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromState = ST.fromState(RSE.Pointed);
/**
* @since 0.9.2
* @category Combinator
*/
exports.map = ST.map(RSE.Functor);
/**
* @since 0.9.2
* @category Constructor
*/
exports.of = ST.of(RSE.Pointed);
/**
* @since 0.9.2
* @category URI
*/
exports.URI = '@typed/fp/StateReaderStreamEither';
/**
* @since 0.9.2
* @category Instance
*/
exports.Pointed = {
of: exports.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.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.9.2
* @category Instance
*/
exports.Monad = {
...exports.Chain,
...exports.Pointed,
};
/**
* @since 0.9.2
* @category Combinator
*/
const chainRec = (f) => (value) => (0, function_1.flow)(f(value), RSE.chain(([either, nextState]) => (0, function_1.pipe)(either, E.matchW((a) => (0, exports.chainRec)(f)(a)(nextState), (b) => RSE.right([b, nextState])))));
exports.chainRec = chainRec;
/**
* @since 0.9.2
* @category Instance
*/
exports.ChainRec = {
chainRec: exports.chainRec,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.MonadRec = {
...exports.Monad,
chainRec: exports.chainRec,
};
/**
* @since 0.9.2
* @category Constructor
*/
const fromEither = (either) => (0, exports.fromEnvEither)(RSE.fromEither(either));
exports.fromEither = fromEither;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromEither = {
fromEither: exports.fromEither,
};
/**
* @since 0.9.2
* @category Constructor
*/
const fromIO = (io) => (0, exports.fromEnvEither)(RSE.fromIO(io));
exports.fromIO = fromIO;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromIO = {
fromIO: exports.fromIO,
};
/**
* @since 0.9.2
* @category Constructor
*/
const fromTask = (io) => (0, exports.fromEnvEither)(RSE.fromTask(io));
exports.fromTask = fromTask;
/**
* @since 0.9.2
* @category INstance
*/
exports.FromTask = {
...exports.FromIO,
fromTask: exports.fromTask,
};
/**
* @since 0.9.2
* @category Constructor
*/
const fromResume = (resume) => (0, exports.fromEnvEither)(RSE.fromResume(resume));
exports.fromResume = fromResume;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromResume = {
fromResume: exports.fromResume,
};
/**
* @since 0.9.2
* @category Constructor
*/
const fromEnv = (env) => (0, exports.fromEnvEither)(RSE.fromEnv(env));
exports.fromEnv = fromEnv;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromEnv = {
fromEnv: exports.fromEnv,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.FromState = {
fromState: exports.fromState,
};
/**
* @since 0.9.2
* @category Constructor
*/
const fromReader = (reader) => (0, exports.fromEnvEither)(RSE.fromReader(reader));
exports.fromReader = fromReader;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromReader = { fromReader: exports.fromReader };
/**
* @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 Constructor
*/
exports.fromReaderK = FR.fromReaderK(exports.FromReader);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainFirstResumeK = FRe.chainFirstResumeK(exports.FromResume, exports.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainResumeK = FRe.chainResumeK(exports.FromResume, exports.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromResumeK = FRe.fromResumeK(exports.FromResume);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainEnvK = FE.chainEnvK(exports.FromEnv, exports.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainFirstEnvK = FE.chainFirstEnvK(exports.FromEnv, exports.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromEnvK = FE.fromEnvK(exports.FromEnv);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainFirstTaskK = FT.chainFirstTaskK(exports.FromTask, exports.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainTaskK = FT.chainTaskK(exports.FromTask, exports.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromTaskK = FT.fromTaskK(exports.FromTask);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainFirstIOK = FIO.chainFirstIOK(exports.FromTask, exports.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainIOK = FIO.chainIOK(exports.FromTask, exports.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromIOK = FIO.fromIOK(exports.FromTask);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainEitherK = FEi.chainEitherK(exports.FromEither, exports.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainOptionK = FEi.chainOptionK(exports.FromEither, exports.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.filterOrElse = FEi.filterOrElse(exports.FromEither, exports.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromEitherK = FEi.fromEitherK(exports.FromEither);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromOption = FEi.fromOption(exports.FromEither);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromOptionK = FEi.fromOptionK(exports.FromEither);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromPredicate = FEi.fromPredicate(exports.FromEither);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainStateK = FS.chainStateK(exports.FromState, exports.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromStateK = FS.fromStateK(exports.FromState);
/**
* @since 0.9.2
* @category Constructor
*/
exports.get = FS.get(exports.FromState);
/**
* @since 0.9.2
* @category Constructor
*/
exports.gets = FS.gets(exports.FromState);
/**
* @since 0.9.2
* @category Combinator
*/
exports.modify = FS.modify(exports.FromState);
/**
* @since 0.9.2
* @category Combinator
*/
exports.put = FS.put(exports.FromState);
/**
* @since 0.9.2
* @category Combinator
*/
const useSome = (provided) => (srte) => (s) => (r) => srte(s)({ ...r, ...provided });
exports.useSome = useSome;
/**
* @since 0.9.2
* @category Combinator
*/
const provideSome = (provided) => (srte) => (s) => (r) => srte(s)({ ...provided, ...r });
exports.provideSome = provideSome;
/**
* @since 0.9.2
* @category Combinator
*/
const useAll = (provided) => (srte) => (s) => () => srte(s)(provided);
exports.useAll = useAll;
/**
* @since 0.9.2
* @category Combinator
*/
const provideAll = (provided) => (srte) => (s) => (r) => srte(s)({ ...provided, ...r });
exports.provideAll = provideAll;
/**
* @since 0.9.2
* @category Instance
*/
exports.UseSome = {
useSome: exports.useSome,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.UseAll = {
useAll: exports.useAll,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.ProvideSome = {
provideSome: exports.provideSome,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.ProvideAll = {
provideAll: exports.provideAll,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.Provide = {
useSome: exports.useSome,
useAll: exports.useAll,
provideSome: exports.provideSome,
provideAll: exports.provideAll,
};
//# sourceMappingURL=StateReaderStreamEither.js.map