TaskValidation<E, A> = Task<Validation<E, A>>
Defined in: Core/TaskValidation.ts:26
A Task that resolves to a Validation — combining async operations with
error accumulation. Unlike TaskResult, multiple failures are collected
rather than short-circuiting on the first error.
E
A
const validateName = (name: string): TaskValidation<string, string> =>
name.length > 0
? TaskValidation.of(name)
: TaskValidation.fail("Name is required");
// Accumulate errors from multiple async validations using ap
pipe(
TaskValidation.of((name: string) => (age: number) => ({ name, age })),
TaskValidation.ap(validateName("")),
TaskValidation.ap(validateAge(-1))
)();
// Invalid(["Name is required", "Age must be positive"])