Add type definitions to lambda-tester package (#29327)

This commit is contained in:
Ivan Kerin 2018-10-02 07:25:24 +03:00 committed by Wesley Wigham
parent e48af07ef9
commit 6a90c99e70
4 changed files with 88 additions and 0 deletions

33
types/lambda-tester/index.d.ts vendored Normal file
View File

@ -0,0 +1,33 @@
// Type definitions for lambda-tester 3.5
// Project: https://github.com/vandium-io/lambda-tester#readme
// Definitions by: Ivan Kerin <https://github.com/ivank>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
import { Context, ClientContext, CognitoIdentity, Handler } from "aws-lambda";
declare namespace lambdaTester {
type Verifier = (result: any) => void;
class LambdaTester {
event(event: any): this;
context(context: Context): this;
clientContext(clientContext: ClientContext): this;
identity(
cognitoIdentityId: string,
cognitoIdentityPoolId: string
): this;
timeout(seconds: number): this;
xray(): this;
expectSucceed(verifier: Verifier): this;
expectFail(verifier: Verifier): this;
expectError(verifier: Verifier): this;
expectResult(verifier: Verifier): this;
expectReject(verifier: Verifier): this;
expectResolve(verifier: Verifier): this;
}
}
declare function lambdaTester(handler: Handler): lambdaTester.LambdaTester;
export = lambdaTester;

View File

@ -0,0 +1,38 @@
import * as lambdaTester from "lambda-tester";
import { Handler, Context, ClientContext } from "aws-lambda";
const handler: Handler = () => Promise.resolve();
const context: Context = {} as any;
const clientContext: ClientContext = {} as any;
interface TResult {
data: string;
}
interface TError {
message: string;
}
lambdaTester(handler)
.event({ test: "123" })
.context(context)
.clientContext(clientContext)
.xray()
.identity("123", "123")
.expectSucceed((result: TResult) => {
const t: string = result.data;
})
.expectFail((error: TError) => {
const t: string = error.message;
})
.expectResolve((result: TResult) => {
const t: string = result.data;
})
.expectReject((error: TError) => {
const t: string = error.message;
})
.expectResult((result: TResult) => {
const t: string = result.data;
})
.expectError((error: TError) => {
const t: string = error.message;
});

View File

@ -0,0 +1,16 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "lambda-tester-tests.ts"]
}

View File

@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }