import * as tsplus_module_1 from "@effect/core/io/Schedule/operations/zip";
import * as tsplus_module_2 from "@effect/core/io/Schedule/operations/map";
/**
 * Equivalent to `zip` followed by `map`.
 *
 * @tsplus fluent ets/Schedule zipWith
 * @tsplus fluent ets/Schedule/WithState zipWith
 */

export function zipWith_(self, that, f) {
  return tsplus_module_2.map_(tsplus_module_1.zip_(self, that), ({
    tuple: [out, out2]
  }) => f(out, out2));
}
/**
 * Equivalent to `zip` followed by `map`.
 *
 * @tsplus static ets/Schedule/Aspects zipWith
 */

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