// ets_tracing: off import * as Tp from "../../../../Collections/Immutable/Tuple/index.js" import type * as C from "../core.js" import * as Cross from "./cross.js" import * as Map from "./map.js" /** * Composes this stream with the specified stream to create a cartesian product of elements, * but keeps only elements from this stream. * The `that` stream would be run multiple times, for every element in the `this` stream. */ export function crossLeft_( self: C.Stream, that: C.Stream ): C.Stream { return Map.map_(Cross.cross_(self, that), Tp.get(0)) } /** * Composes this stream with the specified stream to create a cartesian product of elements, * but keeps only elements from this stream. * The `that` stream would be run multiple times, for every element in the `this` stream. * * @ets_data_first crossLeft_ */ export function crossLeft(that: C.Stream) { return (self: C.Stream) => crossLeft_(self, that) }