(F: SemiApplicative<F>)
| 112 | * @since 0.24.0 |
| 113 | */ |
| 114 | export const lift2 = <F extends TypeLambda>(F: SemiApplicative<F>) => |
| 115 | <A, B, C>(f: (a: A, b: B) => C): { |
| 116 | <R2, O2, E2>( |
| 117 | that: Kind<F, R2, O2, E2, B> |
| 118 | ): <R1, O1, E1>(self: Kind<F, R1, O1, E1, A>) => Kind<F, R1 & R2, O2 | O1, E2 | E1, C> |
| 119 | <R1, O1, E1, R2, O2, E2>( |
| 120 | self: Kind<F, R1, O1, E1, A>, |
| 121 | that: Kind<F, R2, O2, E2, B> |
| 122 | ): Kind<F, R1 & R2, O1 | O2, E1 | E2, C> |
| 123 | } => |
| 124 | dual(2, <R1, O1, E1, R2, O2, E2>( |
| 125 | self: Kind<F, R1, O1, E1, A>, |
| 126 | that: Kind<F, R2, O2, E2, B> |
| 127 | ): Kind<F, R1 & R2, O1 | O2, E1 | E2, C> => zipWith(F)(self, that, f)) |
no test coverage detected