UNPKG

@atomist/sdm

Version:

Atomist Software Delivery Machine SDK

64 lines 2.12 kB
import { Goal, GoalDefinition } from "./Goal"; /** * Represents goals set in response to a push */ export declare class Goals { name: string; readonly goals: Goal[]; /** * Return a Goal set that contains these goals and one more goal, * with an appropriate name * @param {Goal} g goal to add * @return {Goals} */ and(g: Goal): Goals; /** * Return a form of these goals that is locked, so that more goals cannot be * added through contribution model * @return {Goals} */ andLock(): Goals; constructor(name: string, ...goals: Goal[]); } export declare function isGoals(a: any): a is Goals; /** * Builder to build Goals instances. */ export interface GoalsBuilder { /** * Plan the given goal or goals to this Goals instance. * @param {GoalDefinition | Goal | Goals} goals * @returns {Goals & GoalsAndPreConditionBuilder} */ plan(...goals: Array<GoalDefinition | Goal | Goals>): Goals & GoalsAndPreConditionBuilder; } /** * Extension to GoalsBuilder allowing to add preConditions. */ export interface GoalsAndPreConditionBuilder extends GoalsBuilder { /** * Add preCondition(s) to previously planned goal or goals. * Note: * This only will affect the goal or goals that were planned immediately * before calling `after`. * Only call this once; an additional call will remove other preconditions * that may have existed on the original goal. * @param {Goal} goals * @returns {Goals & GoalsBuilder} */ after(...goals: Array<Goals | GoalDefinition | Goal>): Goals & GoalsBuilder; } /** * Create Goals instance using a fluent API. * * const simpleGoals = goals("Simple Goals") * .plan(CodeInspectionGoal) * .plan(BuildGoal, Autofix).after(CodeInspectionGoal) * .plan(StagingEndpointGoal).after(BuildGoal) * .plan(ProductionDeploymentGoal).after(BuildGoal, StagingEndpointGoal); * * @param {string} name * @returns {Goals & GoalsBuilder} */ export declare function goals(name: string): Goals & GoalsBuilder; //# sourceMappingURL=Goals.d.ts.map