import { concreteSink } from "@effect/core/stream/Sink/operations/_internal/SinkInternal" import { concreteStream } from "@effect/core/stream/Stream/operations/_internal/StreamInternal" /** * @tsplus static effect/core/stream/Stream.Aspects runScoped * @tsplus pipeable effect/core/stream/Stream runScoped */ export function runScoped(sink: Sink) { return (self: Stream): Effect => { concreteStream(self) concreteSink(sink) return self.channel.pipeToOrFail(sink.channel).drain.runScoped } }