/** * Returns a new channel that is the sequential composition of this channel * and the specified channel. The returned channel terminates with a tuple of * the terminal values of both channels. * * @tsplus pipeable-operator effect/core/stream/Channel + * @tsplus static effect/core/stream/Channel.Aspects zip * @tsplus pipeable effect/core/stream/Channel zip */ export function zip( that: Channel ) { return ( self: Channel ): Channel< Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem | OutElem1, readonly [OutDone, OutDone1] > => self.flatMap((a) => that.map((b) => [a, b] as const)) }