ChainStep<Input, Output> constructor

const ChainStep<Input, Output>()

Base class for all chain processing steps that defines type-safe data transformation and error handling behavior.

Key features:

  • Type-safe input/output handling
  • Asynchronous processing support
  • Error handling with rollback
  • Extensible through mixins

Example:

class ValidationStep extends ChainStep<RequestData, RequestData> {
  @override
  Future<RequestData> handle(RequestData data, ChainContext context) async {
    if (!isValid(data)) throw ValidationError();
    return data;
  }

  @override
  Future<void> rollback(RequestData data, ChainContext context) async {
    // Cleanup logic
  }
}

Implementation

const ChainStep();