@@ -44,38 +44,64 @@ export class ReaderTaskEither<E, L, A> {
44
44
}
45
45
}
46
46
47
- export const map = < E , L , A , B > ( fa : ReaderTaskEither < E , L , A > , f : ( a : A ) => B ) : ReaderTaskEither < E , L , B > => fa . map ( f )
47
+ const map = < E , L , A , B > ( fa : ReaderTaskEither < E , L , A > , f : ( a : A ) => B ) : ReaderTaskEither < E , L , B > => {
48
+ return fa . map ( f )
49
+ }
48
50
49
- export const of = < E , L , A > ( a : A ) : ReaderTaskEither < E , L , A > => new ReaderTaskEither ( readerTTaskEither . of ( a ) )
51
+ const of = < E , L , A > ( a : A ) : ReaderTaskEither < E , L , A > => {
52
+ return new ReaderTaskEither ( readerTTaskEither . of ( a ) )
53
+ }
50
54
51
- export const ap = < E , L , A , B > (
55
+ const ap = < E , L , A , B > (
52
56
fab : ReaderTaskEither < E , L , ( a : A ) => B > ,
53
57
fa : ReaderTaskEither < E , L , A >
54
- ) : ReaderTaskEither < E , L , B > => fa . ap ( fab )
58
+ ) : ReaderTaskEither < E , L , B > => {
59
+ return fa . ap ( fab )
60
+ }
55
61
56
- export const chain = < E , L , A , B > (
62
+ const chain = < E , L , A , B > (
57
63
fa : ReaderTaskEither < E , L , A > ,
58
64
f : ( a : A ) => ReaderTaskEither < E , L , B >
59
- ) : ReaderTaskEither < E , L , B > => fa . chain ( f )
65
+ ) : ReaderTaskEither < E , L , B > => {
66
+ return fa . chain ( f )
67
+ }
60
68
61
- export const ask = < E , L > ( e : E ) : ReaderTaskEither < E , L , E > => new ReaderTaskEither ( readerT . ask ( taskEither . taskEither ) ( ) )
69
+ const readerTask = readerT . ask ( taskEither . taskEither )
70
+ export const ask = < E , L > ( e : E ) : ReaderTaskEither < E , L , E > => {
71
+ return new ReaderTaskEither ( readerTask ( ) )
72
+ }
62
73
63
- export const asks = < E , L , A > ( f : ( e : E ) => A ) : ReaderTaskEither < E , L , A > =>
64
- new ReaderTaskEither ( readerT . asks ( taskEither . taskEither ) ( f ) )
74
+ const readerTasks = readerT . asks ( taskEither . taskEither )
75
+ export const asks = < E , L , A > ( f : ( e : E ) => A ) : ReaderTaskEither < E , L , A > => {
76
+ return new ReaderTaskEither ( readerTasks ( f ) )
77
+ }
65
78
66
- export const local = < E > ( f : ( e : E ) => E ) => < L , A > ( fa : ReaderTaskEither < E , L , A > ) : ReaderTaskEither < E , L , A > =>
67
- new ReaderTaskEither ( e => fa . run ( f ( e ) ) )
79
+ export const local = < E > ( f : ( e : E ) => E ) => < L , A > ( fa : ReaderTaskEither < E , L , A > ) : ReaderTaskEither < E , L , A > => {
80
+ return new ReaderTaskEither ( e => fa . run ( f ( e ) ) )
81
+ }
68
82
69
- export const right = < E , L , A > ( fa : Task < A > ) : ReaderTaskEither < E , L , A > =>
70
- new ReaderTaskEither ( ( ) => taskEither . right ( fa ) )
83
+ export const right = < E , L , A > ( fa : Task < A > ) : ReaderTaskEither < E , L , A > => {
84
+ return new ReaderTaskEither ( ( ) => taskEither . right ( fa ) )
85
+ }
86
+
87
+ export const left = < E , L , A > ( fa : Task < L > ) : ReaderTaskEither < E , L , A > => {
88
+ return new ReaderTaskEither ( ( ) => taskEither . left ( fa ) )
89
+ }
71
90
72
- export const left = < E , L , A > ( fa : Task < L > ) : ReaderTaskEither < E , L , A > => new ReaderTaskEither ( ( ) => taskEither . left ( fa ) )
91
+ export const fromTaskEither = < E , L , A > ( fa : TaskEither < L , A > ) : ReaderTaskEither < E , L , A > => {
92
+ return new ReaderTaskEither ( ( ) => fa )
93
+ }
73
94
74
- export const fromEither = < E , L , A > ( fa : Either < L , A > ) : ReaderTaskEither < E , L , A > =>
75
- new ReaderTaskEither ( ( ) => taskEither . fromEither ( fa ) )
95
+ export const fromEither = < E , L , A > ( fa : Either < L , A > ) : ReaderTaskEither < E , L , A > => {
96
+ return new ReaderTaskEither ( ( ) => taskEither . fromEither ( fa ) )
97
+ }
76
98
77
- export const tryCatch = < E , L , A > ( f : ( e : E ) => Promise < A > , onrejected : ( reason : { } ) => L ) : ReaderTaskEither < E , L , A > =>
78
- new ReaderTaskEither ( e => taskEither . tryCatch ( ( ) => f ( e ) , onrejected ) )
99
+ export const tryCatch = < E , L , A > (
100
+ f : ( e : E ) => Promise < A > ,
101
+ onrejected : ( reason : { } ) => L
102
+ ) : ReaderTaskEither < E , L , A > => {
103
+ return new ReaderTaskEither ( e => taskEither . tryCatch ( ( ) => f ( e ) , onrejected ) )
104
+ }
79
105
80
106
export const readerTaskEither : Monad3 < URI > = {
81
107
URI ,
0 commit comments