@typed/fp
Version:
Data Structures and Resources for fp-ts
343 lines • 7.84 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromEitherK = exports.filterOrElse = exports.chainOptionK = exports.chainEitherK = exports.Alt = exports.FromEither = exports.fromEither = exports.MonadRec = exports.ChainRec = exports.chainRec = exports.Monad = exports.chainFirst = exports.bind = exports.Chain = exports.Applicative = exports.getSemigroup = exports.apT = exports.apSecond = exports.apS = exports.apFirst = exports.Apply = exports.Bifunctor = exports.tupled = exports.flap = exports.bindTo = exports.Functor = exports.Pointed = exports.of = exports.URI = exports.toUnion = exports.swap = exports.fromData = exports.right = exports.orLeft = exports.orElseFirst = exports.orElse = exports.matchE = exports.match = exports.mapLeft = exports.map = exports.fromDataL = exports.left = exports.getOrElseE = exports.getOrElse = exports.chain = exports.bracket = exports.bimap = exports.ap = exports.altValidation = exports.alt = void 0;
exports.replete = exports.refresh = exports.toLoading = exports.fromProgress = exports.loading = exports.noData = exports.fromPredicate = exports.fromOptionK = exports.fromOption = void 0;
const tslib_1 = require("tslib");
const Apply_ = (0, tslib_1.__importStar)(require("fp-ts/Apply"));
const Chain_ = (0, tslib_1.__importStar)(require("fp-ts/Chain"));
const Ei = (0, tslib_1.__importStar)(require("fp-ts/Either"));
const ET = (0, tslib_1.__importStar)(require("fp-ts/EitherT"));
const FEi = (0, tslib_1.__importStar)(require("fp-ts/FromEither"));
const function_1 = require("fp-ts/function");
const Functor_ = (0, tslib_1.__importStar)(require("fp-ts/Functor"));
const D = (0, tslib_1.__importStar)(require("./Data"));
const internal_1 = require("./internal");
/**
* @since 0.9.2
* @category Combinator
*/
exports.alt = ET.alt(D.Monad);
/**
* @since 0.9.2
* @category Typeclass Constructor
*/
const altValidation = (semigroup) => ET.altValidation(D.Monad, semigroup);
exports.altValidation = altValidation;
/**
* @since 0.9.2
* @category Combinator
*/
exports.ap = ET.ap(D.Apply);
/**
* @since 0.9.2
* @category Combinator
*/
exports.bimap = ET.bimap(D.Functor);
/**
* @since 0.9.2
* @category Combinator
*/
exports.bracket = ET.bracket(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chain = ET.chain(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.getOrElse = ET.getOrElse(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.getOrElseE = ET.getOrElseE(D.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.left = ET.left(D.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromDataL = ET.leftF(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.map = ET.map(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.mapLeft = ET.mapLeft(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.match = ET.match(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.matchE = ET.matchE(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.orElse = ET.orElse(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.orElseFirst = ET.orElseFirst(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.orLeft = ET.orLeft(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.right = ET.right(D.Monad);
/**
* @since 0.9.2
* @category Constructor
*/
exports.fromData = ET.rightF(D.Monad);
/**
* @since 0.9.2
* @category Combinator
*/
exports.swap = ET.swap(D.Functor);
/**
* @since 0.9.2
* @category Combinator
*/
exports.toUnion = ET.toUnion(D.Functor);
/**
* @since 0.9.2
* @category URI
*/
exports.URI = '@typed/fp/DataEither';
/**
* @since 0.9.2
* @category Constructor
*/
exports.of = (0, function_1.flow)(Ei.right, D.of);
/**
* @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 Combinator
*/
exports.bindTo = Functor_.bindTo(exports.Functor);
/**
* @since 0.9.2
* @category Combinator
*/
exports.flap = Functor_.flap(exports.Functor);
/**
* @since 0.9.2
* @category Combinator
*/
exports.tupled = Functor_.tupled(exports.Functor);
/**
* @since 0.9.2
* @category Instance
*/
exports.Bifunctor = {
bimap: exports.bimap,
mapLeft: exports.mapLeft,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.Apply = {
...exports.Functor,
ap: exports.ap,
};
/**
* @since 0.9.2
* @category Combinator
*/
exports.apFirst = Apply_.apFirst(exports.Apply);
/**
* @since 0.9.2
* @category Combinator
*/
exports.apS = Apply_.apS(exports.Apply);
/**
* @since 0.9.2
* @category Combinator
*/
exports.apSecond = Apply_.apSecond(exports.Apply);
/**
* @since 0.9.2
* @category Combinator
*/
exports.apT = Apply_.apT(exports.Apply);
/**
* @since 0.9.2
* @category Typeclass Constructor
*/
exports.getSemigroup = Apply_.getApplySemigroup(exports.Apply);
/**
* @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
*/
exports.bind = Chain_.bind(exports.Chain);
/**
* @since 0.9.2
* @category Combinator
*/
exports.chainFirst = Chain_.chainFirst(exports.Chain);
/**
* @since 0.9.2
* @category Instance
*/
exports.Monad = {
...exports.Chain,
...exports.Pointed,
};
/**
* @since 0.9.2
* @category Combinator
*/
const chainRec = (f) => (a) => (0, function_1.pipe)(a, D.chainRec((x) => (0, function_1.pipe)(x, f, D.map(internal_1.swapEithers))));
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 = (e) => D.replete(e);
exports.fromEither = fromEither;
/**
* @since 0.9.2
* @category Instance
*/
exports.FromEither = {
fromEither: exports.fromEither,
};
/**
* @since 0.9.2
* @category Instance
*/
exports.Alt = {
...exports.Functor,
alt: exports.alt,
};
/**
* @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 Combinator
*/
exports.fromEitherK = FEi.fromEitherK(exports.FromEither);
/**
* @since 0.9.2
* @category Combinator
*/
exports.fromOption = FEi.fromOption(exports.FromEither);
/**
* @since 0.9.2
* @category Combinator
*/
exports.fromOptionK = FEi.fromOptionK(exports.FromEither);
/**
* @since 0.9.2
* @category Combinator
*/
exports.fromPredicate = FEi.fromPredicate(exports.FromEither);
/**
* @since 0.12.1
* @category Consturctor
*/
exports.noData = D.noData;
/**
* @since 0.12.1
* @category Consturctor
*/
exports.loading = D.loading;
/**
* @since 0.12.1
* @category Constructor
*/
exports.fromProgress = (0, function_1.flow)(D.fromProgress, exports.fromData);
/**
* @since 0.12.1
* @category Combinator
*/
const toLoading = (de) => (0, function_1.pipe)(de, D.toLoading);
exports.toLoading = toLoading;
/**
* @since 0.12.1
* @category Constructor
*/
exports.refresh = (0, function_1.flow)(D.refresh, exports.fromData);
/**
* @since 0.12.1
* @category Constructor
*/
exports.replete = (0, function_1.flow)(D.replete, exports.fromData);
//# sourceMappingURL=DataEither.js.map