UNPKG

@atomist/sdm

Version:

Atomist Software Delivery Machine SDK

30 lines 1.29 kB
import { SdmContext } from "../context/SdmContext"; import { Goals } from "../goal/Goals"; import { PushListenerInvocation } from "../listener/PushListener"; import { Mapping } from "./Mapping"; /** * A GoalSetter decides what goals to run depending on repo contents and characteristics * of the push. It is fundamental to determining the flow after the push: * for example: do we want to run a code scan?; do we want to build?; do * we want to deploy? * @returns Goals or undefined if it doesn't like the push or * understand the repo */ export declare type GoalSetter<F extends SdmContext = PushListenerInvocation> = Mapping<F, Goals>; export declare enum GoalSettingCompositionStyle { FirstMatch = "take the first one", AllMatches = "take all the ones that match" } /** * Some (composed) mappings contain information about their internal structure. * * It only extends Mapping<F,V> because it's expected to apply only to those */ export interface GoalSettingStructure<F, V> extends Mapping<F, V> { structure: { compositionStyle: GoalSettingCompositionStyle; components: Array<Mapping<F, V>>; }; } export declare function hasGoalSettingStructure<F, V>(m: Mapping<F, V>): m is GoalSettingStructure<F, V>; //# sourceMappingURL=GoalSetter.d.ts.map