method IResilienceService.wrap
IResilienceService.wrap<T>(
options?: WrapOptions
): HardenedCall<T>

Wraps fn with the selected patterns and returns a hardened callable that reuses one shared pattern chain across invocations, so circuit-breaker and bulkhead state persist across calls.

Each attempt is handed an AbortSignal. The timeout layer aborts it with a TimeoutError when the deadline elapses, so a call that forwards the signal to its I/O is genuinely cancelled rather than left running in the background. An outer signal passed to the returned callable is linked into every layer: it stops the retry loop between attempts and rejects a call still queued behind the bulkhead.

Type Parameters

The protected call's result type

Parameters

The protected call, handed the cancellation signal for the current attempt

optional
options: WrapOptions

Which patterns to apply and their policies

Return Type

A hardened callable accepting an optional caller-owned signal

Usage

import { type IResilienceService } from "common/src/index.ts";