import { RetryPolicy } from '@sha1n/about-time'; import { Pipeline } from './Pipeline'; import createPump from './createPump'; import { HandlerContext, StatefulPipelineEntity } from './types'; class PipelineDriver, S, C extends HandlerContext> { readonly push: (entity: T, ctx: C) => Promise; constructor(pipeline: Pipeline, retryPolicy?: RetryPolicy) { this.push = createPump(pipeline, retryPolicy); } } export { PipelineDriver };