Skip to content

recoverUnless

recoverUnless<E, A, B>(isBlocked, fallback): (data) => Result<E, A | B>

Defined in: Core/Result.ts:276

Recovers from an error unless the predicate isBlocked returns true for that error. The fallback can produce a different success type, widening the result to Result<E, A | B>.

E

A

B

(e) => boolean

() => Result<E, B>

(data) => Result<E, A | B>

pipe(
  Result.err(new Error("not found")),
  Result.recoverUnless(e => e.message === "fatal", () => Result.ok(0))
); // Ok(0)