Skip to content

chain

chain<E, A, B>(f): (data) => Result<E, B>

Defined in: Core/Result.ts:115

Chains Result computations. If the first is Ok, passes the value to f. If the first is Err, propagates the error.

E

A

B

(a) => Result<E, B>

(data): Result<E, B>

Result<E, A>

Result<E, B>

const validatePositive = (n: number): Result<string, number> =>
  n > 0 ? Result.of(n) : Result.err("Must be positive");

pipe(Result.of(5), Result.chain(validatePositive)); // Ok(5)
pipe(Result.of(-1), Result.chain(validatePositive)); // Err("Must be positive")