const fileName_1 = "(@effect/core) _src/stream/Stream/operations/tuple.ts";
import * as tsplus_module_1 from "@effect/core/stream/Stream/operations/zip";
import * as tsplus_module_2 from "@tsplus/stdlib/data/Tuple/mergeTuple";
import * as tsplus_module_3 from "@effect/core/stream/Stream/operations/zipWith";
/**
 * @tsplus static ets/Stream/Ops tuple
 */

export function tuple(...[s1, s2, ...streams]) {
  const init = tsplus_module_1.zip_(s1, () => s2, fileName_1 + ":20:22");
  return streams.reduce((acc, v) => tsplus_module_3.zipWith_(acc, () => v, (a, b) => tsplus_module_2.mergeTuple(a, b), fileName_1 + ":23:28"), init);
}
//# sourceMappingURL=tuple.mjs.map