# @types/lambda-tester

> TypeScript definitions for lambda-tester

Latest version **4.0.3** (published 2023-11-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install @types/lambda-tester
pnpm add @types/lambda-tester
yarn add @types/lambda-tester
bun add @types/lambda-tester
```

## Health

**Score 45/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high maintenance score; popular repo; extremely popular.

Warnings: low downloads; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 4.0.3 |
| Published | 2023-11-07 |
| First published | 2018-10-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 6.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 51438 |
| Maintainers | types |

## Links

- npm: https://www.npmjs.com/package/@types/lambda-tester
- Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
- Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lambda-tester
- npm.io page: https://npm.io/package/@types/lambda-tester

## Dependencies (1)

- [@types/aws-lambda](https://npm.io/package/@types/aws-lambda.md) *

## Recent versions

- 4.0.3 (latest) — 2023-11-07
- 4.0.1 (ts4.3) — 2023-08-30
- 3.6.2 (ts4.2) — 2022-12-27
- 3.6.1 (ts3.2) — 2020-10-28
- 3.6.0 (ts3.1) — 2019-07-25
- 3.5.1 (ts2.3) — 2018-10-16
- 4.0.2 — 2023-10-18
- 4.0.0 — 2023-08-23
- 3.5.0 — 2018-10-03

## README

# 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](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: [@types/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).

---
_Source: https://npm.io/package/@types/lambda-tester · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
