@effect-ts/system
Version:
Effect-TS is a zero dependency set of libraries to write highly productive, purely functional TypeScript at scale.
40 lines (36 loc) • 862 B
text/typescript
// ets_tracing: off
import type * as C from "./core.js"
import * as ZipWith from "./zipWith.js"
/**
* Like `zip`, but keeps only the result from the `that` sink.
*/
export function zipLeft_<
R,
R1,
InErr,
InErr1,
In,
In1 extends In,
OutErr,
OutErr1,
L,
L1 extends L,
Z,
Z1
>(
self: C.Sink<R, InErr, In, OutErr, L, Z>,
that: C.Sink<R1, InErr1, In1, OutErr1, L1, Z1>
): C.Sink<R & R1, InErr & InErr1, In & In1, OutErr | OutErr1, L1, Z> {
return ZipWith.zipWith_(self, that, (z, _) => z)
}
/**
* Like `zip`, but keeps only the result from `that sink.
*
* @ets_data_first zipLeft_
*/
export function zipLeft<R1, InErr1, In, In1 extends In, OutErr1, L, L1 extends L, Z1>(
that: C.Sink<R1, InErr1, In1, OutErr1, L1, Z1>
) {
return <R, InErr, OutErr, Z>(self: C.Sink<R, InErr, In, OutErr, L, Z>) =>
zipLeft_(self, that)
}