MCPcopy Index your code
hub / github.com/Effect-TS/effect / toQueueInternal

Function toQueueInternal

packages/effect/src/internal/channel.ts:2294–2306  ·  view source on GitHub ↗
(
  queue: Queue.Enqueue<Either.Either<Elem, Exit.Exit<Done, Err>>>
)

Source from the content-addressed store, hash-verified

2292
2293/** @internal */
2294const toQueueInternal = <Err, Done, Elem>(
2295 queue: Queue.Enqueue<Either.Either<Elem, Exit.Exit<Done, Err>>>
2296): Channel.Channel<never, Elem, never, Err, unknown, Done> => {
2297 return core.readWithCause({
2298 onInput: (elem) =>
2299 core.flatMap(
2300 core.fromEffect(Queue.offer(queue, Either.right(elem))),
2301 () => toQueueInternal(queue)
2302 ),
2303 onFailure: (cause) => core.fromEffect(Queue.offer(queue, Either.left(Exit.failCause(cause)))),
2304 onDone: (done) => core.fromEffect(Queue.offer(queue, Either.left(Exit.succeed(done))))
2305 })
2306}
2307
2308/** @internal */
2309export const unwrap = <OutElem, InElem, OutErr, InErr, OutDone, InDone, R2, E, R>(

Callers 1

toQueueFunction · 0.85

Calls 3

fromEffectMethod · 0.80
failCauseMethod · 0.80
offerMethod · 0.65

Tested by

no test coverage detected