Added in v2.4.0
Wrap a value into the type constructor.
Equivalent to right
.
Signature
export declare const of: <E, A>(a: A) => TaskThese<E, A>
Added in v2.7.0
Map a pair of functions over the two type arguments of the bifunctor.
Signature
export declare const bimap: <E, G, A, B>(f: (e: E) => G, g: (a: A) => B) => (fa: TaskThese<E, A>) => TaskThese<G, B>
Added in v2.4.0
Map a function over the first type argument of a bifunctor.
Signature
export declare const mapLeft: <E, G>(f: (e: E) => G) => <A>(fa: TaskThese<E, A>) => TaskThese<G, A>
Added in v2.4.0
map
can be used to turn functions (a: A) => B
into functions (fa: F<A>) => F<B>
whose argument and return types
use the type constructor F
to represent some computational context.
Signature
export declare const map: <A, B>(f: (a: A) => B) => <E>(fa: TaskThese<E, A>) => TaskThese<E, B>
Added in v2.4.0
Signature
export declare const fromIO: <E, A>(fa: IO<A>) => TaskThese<E, A>
Added in v2.7.0
Signature
export declare const fromTask: <E, A>(fa: T.Task<A>) => TaskThese<E, A>
Added in v2.7.0
Signature
export declare const swap: <E, A>(fa: TaskThese<E, A>) => TaskThese<A, E>
Added in v2.4.0
Signature
export declare const both: <E, A>(e: E, a: A) => TaskThese<E, A>
Added in v2.4.0
Signature
export declare const fromIOEither: <E, A>(fa: IOEither<E, A>) => TaskThese<E, A>
Added in v2.4.0
Signature
export declare const left: <E = never, A = never>(e: E) => TaskThese<E, A>
Added in v2.4.0
Signature
export declare const leftIO: <E = never, A = never>(me: IO<E>) => TaskThese<E, A>
Added in v2.4.0
Signature
export declare const leftTask: <E = never, A = never>(me: T.Task<E>) => TaskThese<E, A>
Added in v2.4.0
Signature
export declare const right: <E = never, A = never>(a: A) => TaskThese<E, A>
Added in v2.4.0
Signature
export declare const rightIO: <E = never, A = never>(ma: IO<A>) => TaskThese<E, A>
Added in v2.4.0
Signature
export declare const rightTask: <E = never, A = never>(ma: T.Task<A>) => TaskThese<E, A>
Added in v2.4.0
Signature
export declare const fold: <E, B, A>(
onLeft: (e: E) => T.Task<B>,
onRight: (a: A) => T.Task<B>,
onBoth: (e: E, a: A) => T.Task<B>
) => (fa: TaskThese<E, A>) => T.Task<B>
Added in v2.4.0
Signature
export declare const toTuple: <E, A>(e: E, a: A) => (fa: TaskThese<E, A>) => T.Task<[E, A]>
Added in v2.4.0
Signature
export declare const URI: 'TaskThese'
Added in v2.4.0
Signature
export type URI = typeof URI
Added in v2.4.0
Signature
export declare const bifunctorTaskThese: Bifunctor2<'TaskThese'>
Added in v2.7.0
Signature
export declare const functorTaskThese: Functor2<'TaskThese'>
Added in v2.7.0
Signature
export declare function getApplicative<E>(A: Apply1<T.URI>, SE: Semigroup<E>): Applicative2C<URI, E>
Added in v2.7.0
Signature
export declare function getMonad<E>(SE: Semigroup<E>): Monad2C<URI, E> & MonadTask2C<URI, E>
Added in v2.4.0
Signature
export declare function getSemigroup<E, A>(SE: Semigroup<E>, SA: Semigroup<A>): Semigroup<TaskThese<E, A>>
Added in v2.4.0
Signature
export declare const taskThese: Functor2<'TaskThese'> & Bifunctor2<'TaskThese'>
Added in v2.4.0
Signature
export interface TaskThese<E, A> extends Task<These<E, A>> {}
Added in v2.4.0