UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

53 lines (52 loc) 1.71 kB
import { Parallel, ParallelProps } from './states/parallel'; import { State } from './states/state'; import { IChainable, INextable } from './types'; /** * A collection of states to chain onto * * A Chain has a start and zero or more chainable ends. If there are * zero ends, calling next() on the Chain will fail. */ export declare class Chain implements IChainable { private readonly lastAdded; /** * Begin a new Chain from one chainable */ static start(state: IChainable): Chain; /** * Make a Chain with the start from one chain and the ends from another */ static sequence(start: IChainable, next: IChainable): Chain; /** * Make a Chain with specific start and end states, and a last-added Chainable */ static custom(startState: State, endStates: INextable[], lastAdded: IChainable): Chain; /** * Identify this Chain */ readonly id: string; /** * The start state of this chain */ readonly startState: State; /** * The chainable end state(s) of this chain */ readonly endStates: INextable[]; private constructor(); /** * Continue normal execution with the given state */ next(next: IChainable): Chain; /** * Return a single state that encompasses all states in the chain * * This can be used to add error handling to a sequence of states. * * Be aware that this changes the result of the inner state machine * to be an array with the result of the state machine in it. Adjust * your paths accordingly. For example, change 'outputPath' to * '$[0]'. */ toSingleState(id: string, props?: ParallelProps): Parallel; }