npm.io
4.0.3 • Published 2 years ago

@types/lambda-tester

Licence
MIT
Version
4.0.3
Deps
1
Size
6 kB
Vulns
0
Weekly
0
Stars
51.4K

Installation

npm install --save @types/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

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

Credits

These definitions were written by Ivan Kerin, Hajo Aho-Mantila, and Suntharesan Mohan.