@@ -85,6 +85,21 @@ export function mapLeft<F>(
85
85
return f => fa => F . map ( fa , e => e . mapLeft ( f ) )
86
86
}
87
87
88
+ export function bimap < F extends URIS2 > (
89
+ F : Functor2 < F >
90
+ ) : < M , L , V , A , B > ( fa : Type2 < F , M , Either < L , A > > , f : ( l : L ) => V , g : ( a : A ) => B ) => Type2 < F , M , Either < V , B > >
91
+ export function bimap < F extends URIS > (
92
+ F : Functor1 < F >
93
+ ) : < L , V , A , B > ( fa : Type < F , Either < L , A > > , f : ( l : L ) => V , g : ( a : A ) => B ) => Type < F , Either < V , B > >
94
+ export function bimap < F > (
95
+ F : Functor < F >
96
+ ) : < L , V , A , B > ( fa : HKT < F , Either < L , A > > , f : ( l : L ) => V , g : ( a : A ) => B ) => HKT < F , Either < V , B > >
97
+ export function bimap < F > (
98
+ F : Functor < F >
99
+ ) : < L , V , A , B > ( fa : HKT < F , Either < L , A > > , f : ( l : L ) => V , g : ( a : A ) => B ) => HKT < F , Either < V , B > > {
100
+ return ( fa , f , g ) => F . map ( fa , e => e . bimap ( f , g ) )
101
+ }
102
+
88
103
export function getEitherT < M extends URIS2 > ( M : Monad2 < M > ) : EitherT2 < M >
89
104
export function getEitherT < M extends URIS > ( M : Monad1 < M > ) : EitherT1 < M >
90
105
export function getEitherT < M > ( M : Monad < M > ) : EitherT < M >
0 commit comments