IResilienceService.wrap<T>(fn: ResilientCall<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.
fn: ResilientCall<T>
The protected call, handed the cancellation signal for the current attempt
options: WrapOptions
Which patterns to apply and their policies
A hardened callable accepting an optional caller-owned signal