import * as tsplus_module_1 from "@effect/core/stream/Stream/operations/cross";
import * as tsplus_module_2 from "@effect/core/stream/Stream/operations/map";
/**
 * Composes this stream with the specified stream to create a cartesian
 * product of elements, but keeps only elements from that stream. The `that`
 * stream would be run multiple times, for every element in the `this` stream.
 *
 * See also `Stream.zipRight` for the more common point-wise variant.
 *
 * @tsplus operator ets/Stream >
 * @tsplus fluent ets/Stream crossRight
 */

export function crossRight_(self, that, __tsplusTrace) {
  return tsplus_module_2.map_(tsplus_module_1.cross_(self, that, __tsplusTrace), tuple => tuple.get(1), __tsplusTrace);
}
/**
 * Composes this stream with the specified stream to create a cartesian
 * product of elements, but keeps only elements from that stream. The `that`
 * stream would be run multiple times, for every element in the `this` stream.
 *
 * See also `Stream.zipRight` for the more common point-wise variant.
 *
 * @tsplus static ets/Stream/Aspects crossRight
 */

export const crossRight = (that, __tsplusTrace) => self => crossRight_(self, that, __tsplusTrace);
//# sourceMappingURL=crossRight.mjs.map