UNPKG

kist

Version:

Package Pipeline Processor

43 lines (42 loc) 1.59 kB
import { ConfigInterface } from "../../interface/ConfigInterface"; import { AbstractProcess } from "../abstract/AbstractProcess"; /** * Represents the pipeline of stages to be executed. * This class manages the execution flow of stages, including parallel * execution, dependency handling, and applying global options for consistent * pipeline behavior. */ export declare class Pipeline extends AbstractProcess { private config; /** * List of stages to be executed in the pipeline. */ private stages; /** * Global options that apply across the entire pipeline. */ private options?; /** * Constructs a new Pipeline instance with the given configuration. * Initializes stages and applies global options for execution control. * * @param config - The configuration object defining the stages, steps, * and global options for the pipeline. */ constructor(config: ConfigInterface); /** * Runs the pipeline, executing stages based on their dependencies. * Stages are run in parallel by default, but their execution respects * defined dependencies. Applies global options for logging, error * handling, and execution control. */ run(): Promise<void>; /** * Runs the stage promises with concurrency control based on global * options. Limits the number of parallel running stages if * maxConcurrentStages is set in global options. * @param stagePromises - An array of promises representing stage * executions. */ private runWithConcurrencyControl; }