Skip to content
Buy me a coffee

PipelineBuilder

Defined in: src/pipeline-builder.ts:55

The minimal builder: only the strategies you add end up in your bundle.

import { PipelineBuilder, retryStrategy, timeoutStrategy } from '@ylcnfrht/resilience';
const pipeline = new PipelineBuilder().add(retryStrategy({ maxRetryAttempts: 3 })).add(timeoutStrategy('2s')).build();

ResiliencePipelineBuilder adds Polly-style addRetry() / addTimeout() / … shortcuts on top, at the cost of bundling every strategy. Strategies run in the order they are added: the first one added is the outermost. Options are validated and strategy state (e.g. circuit breaker) is created on build().

T = any

E = never

Caught extends string = never

new PipelineBuilder<T, E, Caught>(options?): PipelineBuilder<T, E, Caught>

Defined in: src/pipeline-builder.ts:62

ResiliencePipelineBuilderOptions = {}

PipelineBuilder<T, E, Caught>

readonly name: string | undefined

Defined in: src/pipeline-builder.ts:56


readonly tags: Readonly<Record<string, string>> | undefined

Defined in: src/pipeline-builder.ts:58


readonly timeProvider: TimeProvider

Defined in: src/pipeline-builder.ts:57

add<D>(definition): PipelineBuilder<T, WithErrors<E, Caught, ErrorsOf<D>>, Caught | CatchesOf<D>>

Defined in: src/pipeline-builder.ts:69

D extends StrategyDefinition<T, any>

D

PipelineBuilder<T, WithErrors<E, Caught, ErrorsOf<D>>, Caught | CatchesOf<D>>


addPipeline<E2>(pipeline): PipelineBuilder<T, WithErrors<E, Caught, E2>, Caught>

Defined in: src/pipeline-builder.ts:81

Nest an existing pipeline (and its state) as a single strategy.

E2

ResiliencePipeline<T, E2>

PipelineBuilder<T, WithErrors<E, Caught, E2>, Caught>


addStrategy(create, name?): this

Defined in: src/pipeline-builder.ts:75

Plug in your own strategy.

StrategyFactory<T>

string

this


build(): ResiliencePipeline<T, E>

Defined in: src/pipeline-builder.ts:85

ResiliencePipeline<T, E>