@boost/core
Version:
Robust pipeline for creating dev tools that separate logic into routines and tasks.
20 lines • 738 B
TypeScript
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