Hyperlinkv0.8.0-beta.28

Pull

Pull.doneExitFromCauseconsteffect/Pull.ts:325
<E>(cause: Cause.Cause<E>): Exit.Exit<
  Cause.Done.Extract<E>,
  ExcludeDone<E>
>

Converts a Cause into an Exit, treating Cause.Done as successful completion.

When to use

Use to produce an Exit for finalizing a low-level pull workflow when a Cause.Done signal should be treated as success and any remaining cause should fail.

Details

If the cause contains a done value, that leftover becomes the successful value. Otherwise the non-done cause becomes the failure cause.

Source effect/Pull.ts:3254 lines
export const doneExitFromCause = <E>(cause: Cause.Cause<E>): Exit.Exit<Cause.Done.Extract<E>, ExcludeDone<E>> => {
  const halt = filterDone(cause)
  return !Result.isFailure(halt) ? Exit.succeed(halt.success.value as any) : Exit.failCause(halt.failure)
}
Referenced by 2 symbols