@types/lambda-tester
Version:
TypeScript definitions for lambda-tester
57 lines (46 loc) • 2.52 kB
Markdown
# Installation
> `npm install --save /lambda-tester`
# Summary
This package contains type definitions for lambda-tester (https://github.com/vandium-io/lambda-tester#readme).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lambda-tester.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lambda-tester/index.d.ts)
````ts
import { Callback, ClientContext, CognitoIdentity, Context, Handler } from "aws-lambda";
declare namespace lambdaTester {
type HandlerEvent<T extends Handler> = T extends Handler<infer TEvent> ? TEvent : never;
type HandlerResult<T extends Handler> = T extends Handler<any, infer TResult> ? TResult : never;
type HandlerError<T extends Handler> = T extends Handler<any, infer TResult>
? NonNullable<Parameters<Callback<TResult>>["0"]>
: never;
interface VerifierFn<S> {
(result: S, additional?: any): void | Promise<void>;
(result: S, additional?: any, done?: () => {}): void;
}
type Verifier<S> = S extends HandlerError<Handler> ? S extends string ? VerifierFn<string>
: S extends Error ? VerifierFn<Error>
: never
: VerifierFn<S>;
class LambdaTester<T extends Handler> {
event(event: HandlerEvent<T>): this;
context(context: Context): this;
clientContext(clientContext: ClientContext): this;
identity(cognitoIdentityId: string, cognitoIdentityPoolId: string): this;
timeout(seconds: number): this;
xray(): this;
expectSucceed(verifier?: Verifier<HandlerResult<T>>): Promise<any>;
expectFail(verifier?: Verifier<HandlerError<T>>): Promise<any>;
expectResult(verifier?: Verifier<HandlerResult<T>>): Promise<any>;
expectError(verifier?: Verifier<HandlerError<T>>): Promise<any>;
expectResolve(verifier?: Verifier<HandlerResult<T>>): Promise<any>;
expectReject(verifier?: Verifier<HandlerError<T>>): Promise<any>;
}
}
declare function lambdaTester<T extends Handler>(handler: T): lambdaTester.LambdaTester<T>;
export = lambdaTester;
````
### Additional Details
* Last updated: Tue, 07 Nov 2023 09:09:38 GMT
* Dependencies: [/aws-lambda](https://npmjs.com/package/@types/aws-lambda)
# Credits
These definitions were written by [Ivan Kerin](https://github.com/ivank), [Hajo Aho-Mantila](https://github.com/HajoAhoMantila), and [Suntharesan Mohan](https://github.com/msuntharesan).