Hyperlinkv0.8.0-beta.28

Stream

Stream.scopedconsteffect/Stream.ts:1854
<A, E, R>(self: Stream<A, E, R>): Stream<A, E, Exclude<R, Scope.Scope>>

Runs a stream that requires Scope in a managed scope, ensuring its finalizers are run when the stream completes.

Example (Scoping a stream)

import { Console, Effect, Stream } from "effect"

const stream = Stream.scoped(
  Stream.fromEffect(
    Effect.acquireRelease(
      Console.log("acquire").pipe(Effect.as("resource")),
      () => Console.log("release")
    )
  )
)

Effect.runPromise(Stream.runCollect(stream)).then(console.log)
// acquire
// release
// [ "resource" ]
constructors
Source effect/Stream.ts:18543 lines
export const scoped = <A, E, R>(
  self: Stream<A, E, R>
): Stream<A, E, Exclude<R, Scope.Scope>> => fromChannel(Channel.scoped(self.channel))