Hyperlinkv0.8.0-beta.28

Channel

Channel.suspendconsteffect/Channel.ts:534
<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>(
  evaluate: LazyArg<
    Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>
  >
): Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>

Creates a Channel that lazily evaluates to another channel.

Example (Suspending channel creation)

import { Channel } from "effect"

const channel = Channel.suspend(() => Channel.succeed(42))
// The inner channel is not created until the suspended channel is run
constructors
Source effect/Channel.ts:5344 lines
export const suspend = <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>(
  evaluate: LazyArg<Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>>
): Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env> =>
  fromTransform((upstream, scope) => Effect.suspend(() => toTransform(evaluate())(upstream, scope)))
Referenced by 3 symbols