Chain<Initial, Final> constructor
Chain<Initial, Final> ({})
A type-safe implementation of Chain of Responsibility pattern that transforms data through a sequence of processing steps.
Key features:
- Type-safe data flow between steps
- Automatic rollback on failure
- Rich error handling and execution control
- Extensible through mixins
Example:
final chain = Chain<RequestData, ResponseData>()
..addStep(ValidationStep())
..addStep(ProcessingStep());
final result = await chain.run(RequestData('test'));
Implementation
Chain({
Duration? timeout,
Map<String, dynamic>? initialMetadata,
this.shouldRollbackOnError = true,
}) : context = ChainContext(
timeout: timeout,
initialMetadata: initialMetadata,
);