UNPKG

singularci

Version:

SingularCI is a DSL transpiler used to generate CI/CD configuration files for existing CI platforms

68 lines (55 loc) 1.71 kB
import { Inject, Service } from "typedi"; import IStage from "./interfaces/IStage"; import ITargets from "./interfaces/ITargets"; import ITrigger from "./interfaces/ITrigger"; import IVariables from "./interfaces/IVariables"; import IPipeline from "./interfaces/IPipeline"; @Service({ id: 'Pipeline' }) export default class Pipeline implements IPipeline { private platformTargets: ITargets; private variables: IVariables; private trigger: ITrigger; private stages: IStage[] = []; constructor( @Inject("Trigger") trigger: ITrigger, @Inject("Targets") platformTargets: ITargets, @Inject("Variables") variables: IVariables, ) { this.trigger = trigger; this.platformTargets = platformTargets; this.variables = variables; } setPlatformTargets(platformTargets: ITargets) { this.platformTargets = platformTargets; } setVariables(variables: IVariables) { this.variables = variables; } setTrigger(trigger: ITrigger) { this.trigger = trigger; } addStage(stage: IStage) { this.stages.push(stage); } getPlatformTargets(): ITargets { return this.platformTargets; } getVariables(): IVariables { return this.variables; } getTrigger(): ITrigger { return this.trigger; } getStages(): IStage[] { return this.stages; } setStages(stages: IStage[]) { this.stages = stages; } reset() { this.stages = []; this.platformTargets.reset(); this.variables.reset(); this.trigger.reset(); } }