import { concreteStream, StreamInternal } from "@effect/core/stream/Stream/operations/_internal/StreamInternal" /** * Concatenates the specified stream with this stream, resulting in a stream * that emits the elements from this stream and then the elements from the * specified stream. * * @tsplus pipeable-operator effect/core/stream/Stream + * @tsplus static effect/core/stream/Stream.Aspects concat * @tsplus pipeable effect/core/stream/Stream concat */ export function concat(that: Stream) { return (self: Stream): Stream => { concreteStream(self) return new StreamInternal( self.channel.flatMap(() => { concreteStream(that) return that.channel }) ) } }