method TaskClass.ensure
Private
TaskClass.ensure<T, E, F extends AnyFailure>(
task: TaskClass<T, E>,
predicate: (value: T) => boolean,
toFailure: (value: T) => F
): TaskClass<T, E | F>

Data-first twin of TaskClass#ensure — the invariant, receiver-first.

import { define } from '../result/failure.ts';
const Empty = define('Empty', 'no rows');

const rows = Task(() => [1, 2]);
await Task.ensure(rows, (r) => r.length > 0, () => Empty()); // [1, 2]

Type Parameters

Parameters

task: TaskClass<T, E>
predicate: (value: T) => boolean
toFailure: (value: T) => F

Return Type