UNPKG

lambda-live-debugger

Version:

Debug Lambda functions locally like it is running in the cloud

24 lines (23 loc) 1.04 kB
import { Handler, MiddlewareStack } from "./middleware"; import { MetadataBearer } from "./response"; /** * @public */ export interface Command<ClientInput extends object, InputType extends ClientInput, ClientOutput extends MetadataBearer, OutputType extends ClientOutput, ResolvedConfiguration> extends CommandIO<InputType, OutputType> { readonly input: InputType; readonly middlewareStack: MiddlewareStack<InputType, OutputType>; resolveMiddleware(stack: MiddlewareStack<ClientInput, ClientOutput>, configuration: ResolvedConfiguration, options: any): Handler<InputType, OutputType>; } /** * @internal * * This is a subset of the Command type used only to detect the i/o types. */ export interface CommandIO<InputType extends object, OutputType extends MetadataBearer> { readonly input: InputType; resolveMiddleware(stack: any, configuration: any, options: any): Handler<InputType, OutputType>; } /** * @internal */ export type GetOutputType<Command> = Command extends CommandIO<any, infer O> ? O : never;