Hyperlinkv0.8.0-beta.28

Request

Request.completeEffectconsteffect/Request.ts:462
<A extends Any, R>(effect: Effect.Effect<Success<A>, Error<A>, R>): (
  self: Entry<A>
) => Effect.Effect<void, never, R>
<A extends Any, R>(
  self: Entry<A>,
  effect: Effect.Effect<Success<A>, Error<A>, R>
): Effect.Effect<void, never, R>

Completes a request entry with the result of an effect.

When to use

Use to finish a Request.Entry by running an effect whose success or typed failure should become the request result.

Details

If the effect succeeds, the entry is completed successfully with its value. If the effect fails, the entry is completed with that failure.

Gotchas

The returned effect itself does not fail with the request error.

Source effect/Request.ts:46211 lines
export const completeEffect: {
  <A extends Any, R>(effect: Effect.Effect<Success<A>, Error<A>, R>): (self: Entry<A>) => Effect.Effect<void, never, R>
  <A extends Any, R>(self: Entry<A>, effect: Effect.Effect<Success<A>, Error<A>, R>): Effect.Effect<void, never, R>
} = dual(
  2,
  <A extends Any, R>(self: Entry<A>, effect: Effect.Effect<Success<A>, Error<A>, R>): Effect.Effect<void, never, R> =>
    internalEffect.matchEffect(effect, {
      onFailure: (error) => complete(self, core.exitFail(error) as any),
      onSuccess: (value) => complete(self, core.exitSucceed(value) as any)
    })
)