@typed/fp
Version:
Data Structures and Resources for fp-ts
581 lines • 13.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromEnv = exports.FromEnv = exports.fromResume = exports.FromResume = exports.fromTask = exports.FromTask = exports.fromIO = exports.FromIO = exports.Alternative = exports.Alt = exports.MonadRec = exports.Monad = exports.ChainRec = exports.chainRec = exports.Chain = exports.Applicative = 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.getOrElseEW = exports.getOrElseW = exports.zero = exports.some = exports.matchE = exports.match = exports.map = exports.getOrElseE = exports.getOrElse = exports.fromPredicate = exports.fromOptionK = exports.fromNullableK = exports.fromNullable = exports.fromReaderStream = exports.fromEither = exports.chainOptionK = exports.chainNullableK = exports.chainW = exports.chain = exports.apW = exports.ap = exports.alt = void 0;
exports.useAllWithReaderStream = exports.useSomeWithReaderStream = exports.provideSomeWithReaderStream = exports.provideAllWithReaderStream = exports.fromReaderStreamK = exports.chainReaderStreamK = exports.chainFirstReaderStreamK = exports.FromReaderStream = exports.fromStreamK = exports.chainStreamK = exports.chainFirstStreamK = exports.fromStream = exports.FromStream = exports.useAllWithEnv = exports.useSomeWithEnv = exports.provideSomeWithEnv = exports.provideAllWithEnv = exports.fromEnvK = exports.chainFirstEnvK = exports.chainEnvK = exports.fromResumeK = exports.chainResumeK = exports.chainFirstResumeK = exports.fromReaderK = exports.chainReaderK = exports.asks = exports.ask = exports.useSomeWith = exports.useAllWith = exports.provideSomeWith = exports.provideAllWith = exports.askAndUse = exports.askAndProvide = exports.Provide = exports.provideAll = exports.ProvideAll = exports.provideSome = exports.ProvideSome = exports.useAll = exports.UseAll = exports.useSome = exports.UseSome = exports.fromReader = exports.FromReader = void 0;
const tslib_1 = require("tslib");
const Ap = (0, tslib_1.__importStar)(require("fp-ts/Apply"));
const Ei = (0, tslib_1.__importStar)(require("fp-ts/Either"));
const FR = (0, tslib_1.__importStar)(require("fp-ts/FromReader"));
const function_1 = require("fp-ts/function");
const O = (0, tslib_1.__importStar)(require("fp-ts/Option"));
const OT = (0, tslib_1.__importStar)(require("fp-ts/OptionT"));
const FE = (0, tslib_1.__importStar)(require("./FromEnv"));
const FRS = (0, tslib_1.__importStar)(require("./FromReaderStream"));
const FRe = (0, tslib_1.__importStar)(require("./FromResume"));
const FS = (0, tslib_1.__importStar)(require("./FromStream"));
const P = (0, tslib_1.__importStar)(require("./Provide"));
const RS = (0, tslib_1.__importStar)(require("./ReaderStream"));
/**
* @since 0.9.2
* @category Combinator
*/
exports.alt = OT.alt(RS.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.ap = OT.ap(RS.Apply);
/**
* @since 0.11.0
* @category Combinator
*/
exports.apW = exports.ap;
/**
* @since 0.9.2
* @category Combinator
*/
exports.chain = OT.chain(RS.Monad);
/**
* @since 0.13.9
* @category Combinator
*/
exports.chainW = exports.chain;
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainNullableK = OT.chainNullableK(RS.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainOptionK = OT.chainOptionK(RS.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromEither = OT.fromEither(RS.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromReaderStream = OT.fromF(RS.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromNullable = OT.fromNullable(RS.Pointed);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromNullableK = OT.fromNullableK(RS.Pointed);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromOptionK = OT.fromOptionK(RS.Pointed);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromPredicate = OT.fromPredicate(RS.Pointed);
/**
* @since 0.9.2
* @category Deconstructor
*/
exports.getOrElse = OT.getOrElse(RS.Functor);
/**
* @since 0.9.2
* @category Deconstructor
*/
exports.getOrElseE = OT.getOrElseE(RS.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.map = OT.map(RS.Functor);
/**
* @since 0.9.2
* @category Deconstructor
*/
exports.match = OT.match(RS.Functor);
/**
* @since 0.9.2
* @category Deconstructor
*/
exports.matchE = OT.matchE(RS.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.some = OT.some(RS.Pointed);
/**
* @since 0.9.2
* @category Constructor
*/
exports.zero = OT.zero(RS.Pointed);
/**
* @since 0.9.2
* @category Deconstructor
*/
exports.getOrElseW = OT.getOrElse(RS.Functor);
/**
* @since 0.9.2
* @category Deconstructor
*/
exports.getOrElseEW = exports.getOrElseE;
/**
* @since 0.9.2
* @category URI
*/
exports.URI = '@typed/fp/ReaderStreamOption';
/**
* @since 0.9.2
* @category Instance
*/
exports.Pointed = {
of: (0, function_1.flow)(O.some, RS.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.11.0
* @category Combinator
*/
exports.apFirst = Ap.apFirst(exports.Apply);
/**
* @since 0.11.0
* @category Combinator
*/
exports.apFirstW = exports.apFirst;
/**
* @since 0.11.0
* @category Combinator
*/
exports.apS = Ap.apS(exports.Apply);
/**
* @since 0.11.0
* @category Combinator
*/
exports.apSW = exports.apS;
/**
* @since 0.11.0
* @category Combinator
*/
exports.apSecond = Ap.apSecond(exports.Apply);
/**
* @since 0.11.0
* @category Combinator
*/
exports.apSecondW = exports.apSecond;
/**
* @since 0.11.0
* @category Combinator
*/
exports.apT = Ap.apT(exports.Apply);
/**
* @since 0.11.0
* @category Combinator
*/
exports.apTW = exports.apT;
/**
* @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 Combinator
*/
const chainRec = (f) => (value) => (0, function_1.pipe)(value, RS.chainRec((a) => (0, function_1.pipe)(a, f, RS.map((oe) => {
if (O.isNone(oe)) {
return Ei.right(oe);
}
return (0, function_1.pipe)(oe.value, Ei.map(O.some));
}))));
exports.chainRec = chainRec;
/**
* @since 0.9.2
* @category Instance
*/
exports.ChainRec = {
chainRec: exports.chainRec,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.Monad = {
...exports.Chain,
...exports.Pointed,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.MonadRec = {
...exports.Monad,
chainRec: exports.chainRec,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.Alt = {
...exports.Functor,
alt: exports.alt,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.Alternative = {
...exports.Alt,
zero: exports.zero,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.FromIO = {
fromIO: (0, function_1.flow)(RS.fromIO, RS.map(O.some)),
};
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromIO = exports.FromIO.fromIO;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromTask = {
...exports.FromIO,
fromTask: (0, function_1.flow)(RS.fromTask, RS.map(O.some)),
};
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromTask = exports.FromTask.fromTask;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromResume = {
fromResume: (resume) => (0, function_1.pipe)(RS.fromResume(resume), RS.map(O.some)),
};
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromResume = exports.FromResume.fromResume;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromEnv = {
fromEnv: (0, function_1.flow)(RS.fromEnv, RS.map(O.some)),
};
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromEnv = exports.FromEnv.fromEnv;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromReader = {
fromReader: (0, function_1.flow)(RS.fromReader, RS.map(O.some)),
};
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromReader = exports.FromReader.fromReader;
/**
* @since 0.9.2
* @category Instance
*/
exports.UseSome = {
useSome: RS.useSome,
};
/**
* @since 0.9.2
* @category Combinator
*/
exports.useSome = exports.UseSome.useSome;
/**
* @since 0.9.2
* @category Instance
*/
exports.UseAll = {
useAll: RS.useAll,
};
/**
* @since 0.9.2
* @category Combinator
*/
exports.useAll = exports.UseAll.useAll;
/**
* @since 0.9.2
* @category Instance
*/
exports.ProvideSome = {
provideSome: RS.provideSome,
};
/**
* @since 0.9.2
* @category Combinator
*/
exports.provideSome = exports.ProvideSome.provideSome;
/**
* @since 0.9.2
* @category Instance
*/
exports.ProvideAll = {
provideAll: RS.provideAll,
};
/**
* @since 0.9.2
* @category Combinator
*/
exports.provideAll = exports.ProvideAll.provideAll;
/**
* @since 0.9.2
* @category Instance
*/
exports.Provide = {
...exports.UseAll,
...exports.UseSome,
...exports.ProvideSome,
...exports.ProvideAll,
};
/**
* @since 0.9.2
* @category Combinator
*/
exports.askAndProvide = P.askAndProvide({ ...exports.ProvideAll, ...exports.Chain, ...exports.FromReader });
/**
* @since 0.9.2
* @category Combinator
*/
exports.askAndUse = P.askAndUse({ ...exports.UseAll, ...exports.Chain, ...exports.FromReader });
/**
* @since 0.9.2
* @category Combinator
*/
exports.provideAllWith = P.provideAllWith({ ...exports.ProvideAll, ...exports.Chain });
/**
* @since 0.9.2
* @category Combinator
*/
exports.provideSomeWith = P.provideSomeWith({ ...exports.ProvideSome, ...exports.Chain });
/**
* @since 0.9.2
* @category Combinator
*/
exports.useAllWith = P.useAllWith({ ...exports.UseAll, ...exports.Chain });
/**
* @since 0.9.2
* @category Combinator
*/
exports.useSomeWith = P.useSomeWith({ ...exports.UseSome, ...exports.Chain });
/**
* @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.13.9
* @category Combinator
*/
exports.provideAllWithEnv = FE.provideAllWithEnv({
...exports.FromEnv,
...exports.ProvideAll,
...exports.Chain,
});
/**
* @since 0.13.9
* @category Combinator
*/
exports.provideSomeWithEnv = FE.provideSomeWithEnv({
...exports.FromEnv,
...exports.ProvideSome,
...exports.Chain,
});
/**
* @since 0.13.9
* @category Combinator
*/
exports.useSomeWithEnv = FE.useSomeWithEnv({
...exports.FromEnv,
...exports.UseSome,
...exports.Chain,
});
/**
* @since 0.13.9
* @category Combinator
*/
exports.useAllWithEnv = FE.useAllWithEnv({
...exports.FromEnv,
...exports.UseAll,
...exports.Chain,
});
/**
* @since 0.9.2
* @category Instance
*/
exports.FromStream = {
fromStream: (0, function_1.flow)(RS.fromStream, RS.map(O.some)),
};
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromStream = exports.FromStream.fromStream;
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainFirstStreamK = FS.chainFirstStreamK(exports.FromStream, exports.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainStreamK = FS.chainStreamK(exports.FromStream, exports.Chain);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromStreamK = FS.fromStreamK(exports.FromStream);
/**
* @since 0.13.9
* @category Instance
*/
exports.FromReaderStream = {
fromReaderStream: exports.fromReaderStream,
};
/**
* @since 0.13.9
* @category Combinator
*/
exports.chainFirstReaderStreamK = FRS.chainFirstReaderStreamK(exports.FromReaderStream, exports.Chain);
/**
* @since 0.13.9
* @category Combinator
*/
exports.chainReaderStreamK = FRS.chainReaderStreamK(exports.FromReaderStream, exports.Chain);
/**
* @since 0.13.9
* @category Constructor
*/
exports.fromReaderStreamK = FRS.fromReaderStreamK(exports.FromReaderStream);
/**
* @since 0.13.9
* @category Combinator
*/
exports.provideAllWithReaderStream = FRS.provideAllWithReaderStream({
...exports.FromReaderStream,
...exports.ProvideAll,
...exports.Chain,
});
/**
* @since 0.13.9
* @category Combinator
*/
exports.provideSomeWithReaderStream = FRS.provideSomeWithReaderStream({
...exports.FromReaderStream,
...exports.ProvideSome,
...exports.Chain,
});
/**
* @since 0.13.9
* @category Combinator
*/
exports.useSomeWithReaderStream = FRS.useSomeWithReaderStream({
...exports.FromReaderStream,
...exports.UseSome,
...exports.Chain,
});
/**
* @since 0.13.9
* @category Combinator
*/
exports.useAllWithReaderStream = FRS.useAllWithReaderStream({
...exports.FromReaderStream,
...exports.UseAll,
...exports.Chain,
});
//# sourceMappingURL=ReaderStreamOption.js.map