@typed/fp
Version:
Data Structures and Resources for fp-ts
209 lines • 4.39 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Bifunctor = exports.Alt = exports.MonadRec = exports.Monad = exports.Applicative = exports.Apply = exports.chainRec = exports.ChainRec = exports.Chain = exports.Functor = exports.of = exports.Pointed = exports.URI = exports.toUnion = exports.swap = exports.fromResumeR = exports.right = exports.orLeft = exports.orElseFirst = exports.orElse = exports.matchE = exports.match = exports.mapLeft = exports.map = exports.fromResumeL = exports.left = exports.getOrElseE = exports.getOrElse = exports.chain = exports.bracket = exports.bimap = exports.ap = exports.altValidation = exports.alt = void 0;
const tslib_1 = require("tslib");
const E = (0, tslib_1.__importStar)(require("fp-ts/Either"));
const ET = (0, tslib_1.__importStar)(require("fp-ts/EitherT"));
const function_1 = require("fp-ts/function");
const internal_1 = require("./internal");
const R = (0, tslib_1.__importStar)(require("./Resume"));
/**
* @since 0.9.2
* @category Combinator
*/
exports.alt = ET.alt(R.Monad);
/**
* @since 0.9.2
* @category Typeclass Constructor
*/
const altValidation = (semigroup) => ET.altValidation(R.Monad, semigroup);
exports.altValidation = altValidation;
/**
* @since 0.9.2
* @category Combinator
*/
exports.ap = ET.ap(R.Apply);
/**
* @since 0.9.2
* @category Combinator
*/
exports.bimap = ET.bimap(R.Functor);
/**
* @since 0.9.2
* @category Combinator
*/
exports.bracket = ET.bracket(R.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chain = ET.chain(R.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.getOrElse = ET.getOrElse(R.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.getOrElseE = ET.getOrElseE(R.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.left = ET.left(R.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromResumeL = ET.leftF(R.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.map = ET.map(R.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.mapLeft = ET.mapLeft(R.Monad);
/**
* @since 0.9.2
* @category Deconstructor
*/
exports.match = ET.match(R.Monad);
/**
* @since 0.9.2
* @category Deconstructor
*/
exports.matchE = ET.matchE(R.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.orElse = ET.orElse(R.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.orElseFirst = ET.orElseFirst(R.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.orLeft = ET.orLeft(R.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.right = ET.right(R.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromResumeR = ET.rightF(R.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.swap = ET.swap(R.Functor);
/**
* @since 0.9.2
* @category Combinator
*/
exports.toUnion = ET.toUnion(R.Functor);
/**
* @since 0.9.2
* @category URI
*/
exports.URI = '@typed/fp/ResumeEither';
/**
* @since 0.9.2
* @category Instance
*/
exports.Pointed = {
of: (0, function_1.flow)(E.right, R.of),
};
/**
* @since 0.9.2
* @category Combinator
*/
exports.of = exports.Pointed.of;
/**
* @since 0.9.2
* @category Instance
*/
exports.Functor = {
map: exports.map,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.Chain = {
...exports.Functor,
chain: exports.chain,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.ChainRec = {
chainRec: (f) => R.chainRec((0, function_1.flow)(f, R.map(internal_1.swapEithers))),
};
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainRec = exports.ChainRec.chainRec;
/**
* @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.Monad = {
...exports.Applicative,
chain: exports.chain,
};
/**
* @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.Bifunctor = {
...exports.Functor,
bimap: exports.bimap,
mapLeft: exports.mapLeft,
};
//# sourceMappingURL=ResumeEither.js.map