UNPKG

serverless-spy

Version:

CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.

23 lines (22 loc) 4.22 kB
import { DynamoDBSpyEvent } from "../common/spyEvents/DynamoDBSpyEvent.js"; import { EventBridgeRuleSpyEvent } from "../common/spyEvents/EventBridgeRuleSpyEvent.js"; import { EventBridgeSpyEvent } from "../common/spyEvents/EventBridgeSpyEvent.js"; import { FunctionConsoleSpyEvent } from "../common/spyEvents/FunctionConsoleSpyEvent.js"; import { FunctionErrorSpyEvent } from "../common/spyEvents/FunctionErrorSpyEvent.js"; import { FunctionRequestSpyEvent } from "../common/spyEvents/FunctionRequestSpyEvent.js"; import { FunctionResponseSpyEvent } from "../common/spyEvents/FunctionResponseSpyEvent.js"; import { S3SpyEvent } from "../common/spyEvents/S3SpyEvent.js"; import { SnsSubscriptionSpyEvent } from "../common/spyEvents/SnsSubscriptionSpyEvent.js"; import { SnsTopicSpyEvent } from "../common/spyEvents/SnsTopicSpyEvent.js"; import { SqsSpyEvent } from "../common/spyEvents/SqsSpyEvent.js"; import { PrettifyForDisplay } from "./PrettifyForDisplay.js"; import { DynamoDBSpyHandler, EventBridgeRuleSpyHandler, EventBridgeSpyHandler, FunctionConsoleSpyHandler, FunctionErrorSpyHandler, FunctionRequestSpyHandler, FunctionResponseSpyHandler, S3SpyHandler, SnsSubscriptionSpyHandler, SnsTopicSpyHandler, SqsSpyHandler } from "./SpyHandlers.ts.js"; import { WaitForParams } from "./WaitForParams.js"; //#region listener/ServerlessSpyListener.d.ts type ServerlessSpyListener<TSpyEvents> = { [P in keyof FilterConditionally<TSpyEvents, `DynamoDB#${any}`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<DynamoDBSpyEvent>>>) => Promise<DynamoDBSpyHandler<T>> } & { [P in keyof FilterConditionally<TSpyEvents, `EventBridge#${any}`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<EventBridgeSpyEvent<T>>>>) => Promise<EventBridgeSpyHandler<T>> } & { [P in keyof FilterConditionally<TSpyEvents, `EventBridgeRule#${any}`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<EventBridgeRuleSpyEvent<T>>>>) => Promise<EventBridgeRuleSpyHandler<T>> } & { [P in keyof FilterConditionally<TSpyEvents, `S3#${any}`> & string as `waitFor${P}`]: (param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<S3SpyEvent>>>) => Promise<S3SpyHandler> } & { [P in keyof FilterConditionally<TSpyEvents, `SnsSubscription#${any}`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<SnsSubscriptionSpyEvent<T>>>>) => Promise<SnsSubscriptionSpyHandler<T>> } & { [P in keyof FilterConditionally<TSpyEvents, `SnsTopic#${any}`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<SnsTopicSpyEvent<T>>>>) => Promise<SnsTopicSpyHandler<T>> } & { [P in keyof FilterConditionally<TSpyEvents, `Sqs#${any}`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<SqsSpyEvent<T>>>>) => Promise<SqsSpyHandler<T>> } & { [P in keyof FilterConditionally<TSpyEvents, `Function#${any}#Request`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<FunctionRequestSpyEvent<T>>>>) => Promise<FunctionRequestSpyHandler<T>> } & { [P in keyof FilterConditionally<TSpyEvents, `Function#${any}#Console`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<FunctionConsoleSpyEvent<T>>>>) => Promise<FunctionConsoleSpyHandler<T>> } & { [P in keyof FilterConditionally<TSpyEvents, `Function#${any}#Error`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<FunctionErrorSpyEvent<T>>>>) => Promise<FunctionErrorSpyHandler<T>> } & { [P in keyof FilterConditionally<TSpyEvents, `Function#${any}#Response`> & string as `waitFor${P}`]: <T = any>(param?: PrettifyForDisplay<WaitForParams<PrettifyForDisplay<FunctionResponseSpyEvent<T>>>>) => Promise<FunctionResponseSpyHandler<T>> } & { stop: () => void; }; type FilterConditionally<Source, Condition> = Pick<Source, { [K in keyof Source]: Source[K] extends Condition ? K : never }[keyof Source]>; //#endregion export { ServerlessSpyListener }; //# sourceMappingURL=ServerlessSpyListener.d.ts.map