Skip to content

ap

ap<E, A>(arg): <B>(data) => Validation<E, B>

Defined in: Core/Validation.ts:139

Applies a function wrapped in a Validation to a value wrapped in a Validation. Accumulates errors from both sides.

E

A

Validation<E, A>

<B>(data): Validation<E, B>

B

Validation<E, (a) => B>

Validation<E, B>

const add = (a: number) => (b: number) => a + b;
pipe(
  Validation.of(add),
  Validation.ap(Validation.of(5)),
  Validation.ap(Validation.of(3))
); // Valid(8)

pipe(
  Validation.of(add),
  Validation.ap(Validation.fail<string, number>("bad a")),
  Validation.ap(Validation.fail<string, number>("bad b"))
); // Invalid(["bad a", "bad b"])