All files / packages/retry/src config.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                                             
import type { Abortable } from 'node:events'
 
import type { RetryBudget } from './budget.js'
import type { RetryContext } from './context.js'
import type { RetryStrategy } from './strategy.js'
 
/**
 * Options for retry configuration
 */
export interface RetryConfig extends Abortable {
	/** Predicate to determine if an error is retryable */
	retry?: boolean | ((error: RetryContext['error'], idempotent: boolean) => boolean)
	/** Budget for retry attempts */
	budget?: number | RetryBudget
	/** Strategy to calculate delay */
	strategy?: number | RetryStrategy
	/** Idempotent operation */
	idempotent?: boolean
 
	/** Hook to be called before retrying */
	onRetry?: (ctx: RetryContext) => void
}