| 75 | * @since 0.24.0 |
| 76 | */ |
| 77 | export const zipLeft = <F extends TypeLambda>(F: SemiApplicative<F>): { |
| 78 | <R2, O2, E2, _>( |
| 79 | that: Kind<F, R2, O2, E2, _> |
| 80 | ): <R1, O1, E1, A>(self: Kind<F, R1, O1, E1, A>) => Kind<F, R1 & R2, O2 | O1, E2 | E1, A> |
| 81 | <R1, O1, E1, A, R2, O2, E2, _>( |
| 82 | self: Kind<F, R1, O1, E1, A>, |
| 83 | that: Kind<F, R2, O2, E2, _> |
| 84 | ): Kind<F, R1 & R2, O1 | O2, E1 | E2, A> |
| 85 | } => |
| 86 | dual(2, <R1, O1, E1, A, R2, O2, E2, _>( |
| 87 | self: Kind<F, R1, O1, E1, A>, |
| 88 | that: Kind<F, R2, O2, E2, _> |
| 89 | ): Kind<F, R1 & R2, O1 | O2, E1 | E2, A> => zipWith(F)(self, that, identity)) |
| 90 | |
| 91 | /** |
| 92 | * @since 0.24.0 |