@atomist/sdm
Version:
Atomist Software Delivery Machine SDK
46 lines • 1.91 kB
TypeScript
import { HandlerContext } from "@atomist/automation-client/lib/HandlerContext";
import { ParameterStyle } from "../registration/CommandRegistration";
import { ParametersObjectValue } from "../registration/ParametersDefinition";
/**
* Object with properties defining parameters. Useful for combination via spreads.
*/
export declare type ParametersPromptObject<PARAMS, K extends keyof PARAMS = keyof PARAMS> = Record<K, ParametersObjectValue & {
force?: boolean;
}>;
/**
* Factory to create a ParameterPrompt
*/
export declare type ParameterPromptFactory<PARAMS> = (ctx: HandlerContext) => ParameterPrompt<PARAMS>;
/**
* Options to configure the parameter prompt
*/
export interface ParameterPromptOptions {
/** Optional thread identifier to send this message to or true to send
* this to the message that triggered this command.
*/
thread?: boolean | string;
/**
* Configure strategy on how to ask for parameters in chat or web
*/
parameterStyle?: ParameterStyle;
/**
* Configure auto submit strategy for when all required parameters are collected
*/
autoSubmit?: boolean;
}
/**
* ParameterPrompts let the caller prompt for the provided parameters
*/
export declare type ParameterPrompt<PARAMS> = (parameters: ParametersPromptObject<PARAMS>, options?: ParameterPromptOptions) => Promise<PARAMS>;
/**
* No-op NoParameterPrompt implementation that never prompts for new parameters
* @constructor
*/
export declare const NoParameterPrompt: ParameterPrompt<any>;
export declare const AtomistContinuationMimeType = "application/x-atomist-continuation+json";
/**
* Default ParameterPromptFactory that uses the WebSocket connection to send parameter prompts to the backend.
* @param ctx
*/
export declare function commandRequestParameterPromptFactory<T>(ctx: HandlerContext): ParameterPrompt<T>;
//# sourceMappingURL=parameterPrompt.d.ts.map