Skip to content

ap

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

Defined in: Core/Validation.ts:165

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>

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

pipe(
  Validation.passed(add),
  Validation.ap(Validation.failed<string, number>("bad a")),
  Validation.ap(Validation.failed<string, number>("bad b"))
); // Failed(["bad a", "bad b"])