UNPKG

@boost/core

Version:

Robust pipeline for creating dev tools that separate logic into routines and tasks.

20 lines 738 B
import { Blueprint, Predicates } from 'optimal'; import Context from './Context'; import Routine from './Routine'; import CoreTool from './Tool'; export interface PipelineOptions { exit?: (code: number) => void; } export default class Pipeline<Ctx extends Context, Tool extends CoreTool<any>> extends Routine<Ctx, Tool, PipelineOptions> { constructor(tool: Tool, context: Ctx, options?: PipelineOptions); blueprint({ func }: Predicates): Blueprint<Required<PipelineOptions>>; /** * Execute all routines in order. */ run<T>(initialValue?: T): Promise<any>; /** * Report the pipeline failure by writing a crash log. */ reportCrash(error: Error): void; } //# sourceMappingURL=Pipeline.d.ts.map