Hyperlinkv0.8.0-beta.28

Sink

Sink.fromQueueconsteffect/Sink.ts:464
<A>(queue: Queue.Queue<A, Cause.Done>): Sink<void, A>

Creates a sink that offers every consumed input element to a queue.

Details

When the upstream stream ends, the sink ends the queue and completes with void.

constructors
Source effect/Sink.ts:46413 lines
export const fromQueue = <A>(
  queue: Queue.Queue<A, Cause.Done>
): Sink<void, A> =>
  fromTransform((upstream) =>
    upstream.pipe(
      Effect.flatMap((arr) => Queue.offerAll(queue, arr)),
      Effect.forever({ disableYield: true }),
      Pull.catchDone((_) => {
        Queue.endUnsafe(queue)
        return endVoid
      })
    )
  )