120 lines
3.6 KiB
TypeScript
120 lines
3.6 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { AssignableStateOptions, JsonataCommonOptions, JsonPathCommonOptions, StateBaseProps } from './state';
|
|
import { State } from './state';
|
|
import { Chain } from '../chain';
|
|
import type { IChainable, INextable } from '../types';
|
|
import { QueryLanguage } from '../types';
|
|
/**
|
|
* The result of a Pass operation
|
|
*/
|
|
export declare class Result {
|
|
readonly value: any;
|
|
/**
|
|
* The result of the operation is a string
|
|
*/
|
|
static fromString(value: string): Result;
|
|
/**
|
|
* The result of the operation is a number
|
|
*/
|
|
static fromNumber(value: number): Result;
|
|
/**
|
|
* The result of the operation is a boolean
|
|
*/
|
|
static fromBoolean(value: boolean): Result;
|
|
/**
|
|
* The result of the operation is an object
|
|
*/
|
|
static fromObject(value: {
|
|
[key: string]: any;
|
|
}): Result;
|
|
/**
|
|
* The result of the operation is an array
|
|
*/
|
|
static fromArray(value: any[]): Result;
|
|
/**
|
|
*
|
|
* @param value result of the Pass operation
|
|
*/
|
|
protected constructor(value: any);
|
|
}
|
|
interface PassJsonPathOptions extends JsonPathCommonOptions {
|
|
/**
|
|
* If given, treat as the result of this operation
|
|
*
|
|
* Can be used to inject or replace the current execution state.
|
|
*
|
|
* @default No injected result
|
|
*/
|
|
readonly result?: Result;
|
|
/**
|
|
* JSONPath expression to indicate where to inject the state's output
|
|
*
|
|
* May also be the special value JsonPath.DISCARD, which will cause the state's
|
|
* input to become its output.
|
|
*
|
|
* @default $
|
|
*/
|
|
readonly resultPath?: string;
|
|
/**
|
|
* Parameters pass a collection of key-value pairs, either static values or JSONPath expressions that select from the input.
|
|
*
|
|
* @see
|
|
* https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-parameters
|
|
*
|
|
* @default No parameters
|
|
*/
|
|
readonly parameters?: {
|
|
[name: string]: any;
|
|
};
|
|
}
|
|
/**
|
|
* Properties for defining a Pass state that using JSONPath
|
|
*/
|
|
export interface PassJsonPathProps extends StateBaseProps, AssignableStateOptions, PassJsonPathOptions {
|
|
}
|
|
/**
|
|
* Properties for defining a Pass state that using JSONata
|
|
*/
|
|
export interface PassJsonataProps extends StateBaseProps, AssignableStateOptions, JsonataCommonOptions {
|
|
}
|
|
/**
|
|
* Properties for defining a Pass state
|
|
*/
|
|
export interface PassProps extends StateBaseProps, AssignableStateOptions, PassJsonPathOptions, JsonataCommonOptions {
|
|
}
|
|
/**
|
|
* Define a Pass in the state machine
|
|
*
|
|
* A Pass state can be used to transform the current execution's state.
|
|
*/
|
|
export declare class Pass extends State implements INextable {
|
|
/**
|
|
* Define a Pass using JSONPath in the state machine
|
|
*
|
|
* A Pass state can be used to transform the current execution's state.
|
|
*/
|
|
static jsonPath(scope: Construct, id: string, props?: PassJsonPathProps): Pass;
|
|
/**
|
|
* Define a Pass using JSONata in the state machine
|
|
*
|
|
* A Pass state can be used to transform the current execution's state.
|
|
*/
|
|
static jsonata(scope: Construct, id: string, props?: PassJsonataProps): Pass;
|
|
readonly endStates: INextable[];
|
|
private readonly result?;
|
|
constructor(scope: Construct, id: string, props?: PassProps);
|
|
/**
|
|
* Continue normal execution with the given state
|
|
*/
|
|
next(next: IChainable): Chain;
|
|
/**
|
|
* Return the Amazon States Language object for this state
|
|
*/
|
|
toStateJson(topLevelQueryLanguage?: QueryLanguage): object;
|
|
/**
|
|
* Render Parameters in ASL JSON format
|
|
*/
|
|
private renderParameters;
|
|
}
|
|
export {};
|