Skip to content

FuturableTask.reject() ​

Create a task that immediately fails with an error.

Syntax ​

typescript
FuturableTask.reject<T = never>(reason: any): FuturableTask<T>

Parameters ​

reason ​

The error or reason for rejection.

Return Value ​

A FuturableTask<T> that fails with the provided reason.

Description ​

Creates a task that immediately fails when executed. Useful for error handling chains, testing, or representing known error states.

Examples ​

Basic Usage ​

typescript
const task = FuturableTask.reject(new Error('Failed'));

try {
  await task.run();
} catch (error) {
  console.log(error.message); // "Failed"
}

Error Handling Chain ​

typescript
const task = FuturableTask
  .reject(new Error('Primary failed'))
  .fallbackTo(() => fallbackValue);

const result = await task.run(); // fallbackValue

Conditional Errors ​

typescript
const validateTask = (data: any) =>
  data.valid
    ? FuturableTask.resolve(data)
    : FuturableTask.reject(new Error('Invalid data'));

Testing Error Paths ​

typescript
// Test error handling in your application
const mockError = FuturableTask.reject(
  new Error('Network error')
);

const result = await mockError.runSafe();
expect(result.success).toBe(false);

With orElse ​

typescript
const task = FuturableTask
  .reject(new Error('First attempt'))
  .orElse(() => FuturableTask.of(() => secondAttempt()))
  .orElse(() => FuturableTask.resolve(defaultValue));

See Also ​

Released under the MIT License.