Add definitions for aws-serverless-express 3.3.x

This commit is contained in:
Paul Roberts
2018-09-12 11:41:10 -07:00
parent 4525e8d53d
commit 36891bfec1
2 changed files with 24 additions and 7 deletions
@@ -29,4 +29,4 @@ const mockContext = {
awsServerlessExpress.proxy(server, mockEvent, mockContext);
awsServerlessExpress.proxy(server, mockEvent, mockContext, 'CALLBACK', () => {});
awsServerlessExpress.proxy(server, mockEvent, mockContext, 'CONTEXT_SUCCEED');
awsServerlessExpress.proxy(server, mockEvent, mockContext, 'PROMISE').promise;
awsServerlessExpress.proxy(server, mockEvent, mockContext, 'PROMISE').promise.then((response: awsServerlessExpress.Response) => {}).catch(err => {});
+23 -6
View File
@@ -11,6 +11,16 @@
import * as http from 'http';
import * as lambda from 'aws-lambda';
export interface Response {
statusCode: number;
body: string;
headers: {};
}
export interface ProxyResult {
promise: Promise<Response>;
}
export function createServer(
requestListener: (request: http.IncomingMessage, response: http.ServerResponse) => void,
serverListenCallback?: () => any,
@@ -23,17 +33,24 @@ export function proxy(
context: lambda.Context,
): http.Server;
export function proxy<T>(
export function proxy(
server: http.Server,
event: any,
context: lambda.Context,
resolutionMode: 'CALLBACK',
callback?: () => T
): {promise: Promise<T>};
resolutionMode: 'CONTEXT_SUCCEED',
): void;
export function proxy(
server: http.Server,
event: any,
context: lambda.Context,
resolutionMode?: 'CONTEXT_SUCCEED' | 'PROMISE'
): {promise: Promise<void>};
resolutionMode: 'PROMISE'
): ProxyResult;
export function proxy(
server: http.Server,
event: any,
context: lambda.Context,
resolutionMode: 'CALLBACK',
callback?: (error: any, response: Response) => void
): void;