import * as tsplus_module_1 from "@effect/core/stream/Stream/operations/zipWithChunks";
import { zipChunks } from "@effect/core/stream/Stream/operations/_internal/zipChunks";
/**
 * Zips this stream with another point-wise and applies the function to the
 * paired elements.
 *
 * The new stream will end when one of the sides ends.
 *
 * @tsplus fluent ets/Stream zipWith
 */

export function zipWith_(self, that, f, __tsplusTrace) {
  return tsplus_module_1.zipWithChunks_(self, that, (leftChunk, rightChunk) => zipChunks(leftChunk, rightChunk, f), __tsplusTrace);
}
/**
 * Zips this stream with another point-wise and applies the function to the
 * paired elements.
 *
 * The new stream will end when one of the sides ends.
 *
 * @tsplus static ets/Stream/Aspects zipWith
 */

export const zipWith = (that, f, __tsplusTrace) => self => zipWith_(self, that, f, __tsplusTrace);
//# sourceMappingURL=zipWith.mjs.map