UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

204 lines 3.48 kB
import * as E from 'fp-ts/Either'; import * as ET from 'fp-ts/EitherT'; import { flow } from 'fp-ts/function'; import { swapEithers } from './internal'; import * as R from './Resume'; /** * @since 0.9.2 * @category Combinator */ export const alt = ET.alt(R.Monad); /** * @since 0.9.2 * @category Typeclass Constructor */ export const altValidation = (semigroup) => ET.altValidation(R.Monad, semigroup); /** * @since 0.9.2 * @category Combinator */ export const ap = ET.ap(R.Apply); /** * @since 0.9.2 * @category Combinator */ export const bimap = ET.bimap(R.Functor); /** * @since 0.9.2 * @category Combinator */ export const bracket = ET.bracket(R.Monad); /** * @since 0.9.2 * @category Combinator */ export const chain = ET.chain(R.Monad); /** * @since 0.9.2 * @category Combinator */ export const getOrElse = ET.getOrElse(R.Monad); /** * @since 0.9.2 * @category Combinator */ export const getOrElseE = ET.getOrElseE(R.Monad); /** * @since 0.9.2 * @category Constructor */ export const left = ET.left(R.Monad); /** * @since 0.9.2 * @category Constructor */ export const fromResumeL = ET.leftF(R.Monad); /** * @since 0.9.2 * @category Combinator */ export const map = ET.map(R.Monad); /** * @since 0.9.2 * @category Combinator */ export const mapLeft = ET.mapLeft(R.Monad); /** * @since 0.9.2 * @category Deconstructor */ export const match = ET.match(R.Monad); /** * @since 0.9.2 * @category Deconstructor */ export const matchE = ET.matchE(R.Monad); /** * @since 0.9.2 * @category Combinator */ export const orElse = ET.orElse(R.Monad); /** * @since 0.9.2 * @category Combinator */ export const orElseFirst = ET.orElseFirst(R.Monad); /** * @since 0.9.2 * @category Combinator */ export const orLeft = ET.orLeft(R.Monad); /** * @since 0.9.2 * @category Constructor */ export const right = ET.right(R.Monad); /** * @since 0.9.2 * @category Constructor */ export const fromResumeR = ET.rightF(R.Monad); /** * @since 0.9.2 * @category Combinator */ export const swap = ET.swap(R.Functor); /** * @since 0.9.2 * @category Combinator */ export const toUnion = ET.toUnion(R.Functor); /** * @since 0.9.2 * @category URI */ export const URI = '@typed/fp/ResumeEither'; /** * @since 0.9.2 * @category Instance */ export const Pointed = { of: flow(E.right, R.of), }; /** * @since 0.9.2 * @category Combinator */ export const of = Pointed.of; /** * @since 0.9.2 * @category Instance */ export const Functor = { map, }; /** * @since 0.9.2 * @category Instance */ export const Chain = { ...Functor, chain, }; /** * @since 0.9.2 * @category Instance */ export const ChainRec = { chainRec: (f) => R.chainRec(flow(f, R.map(swapEithers))), }; /** * @since 0.9.2 * @category Combinator */ export const chainRec = ChainRec.chainRec; /** * @since 0.9.2 * @category Instance */ export const Apply = { ...Functor, ap, }; /** * @since 0.9.2 * @category Instance */ export const Applicative = { ...Apply, ...Pointed, }; /** * @since 0.9.2 * @category Instance */ export const Monad = { ...Applicative, chain, }; /** * @since 0.9.2 * @category Instance */ export const MonadRec = { ...Monad, chainRec, }; /** * @since 0.9.2 * @category Instance */ export const Alt = { ...Functor, alt, }; /** * @since 0.9.2 * @category Instance */ export const Bifunctor = { ...Functor, bimap, mapLeft, }; //# sourceMappingURL=ResumeEither.js.map