diff --git a/types/aws-serverless-express/aws-serverless-express-tests.ts b/types/aws-serverless-express/aws-serverless-express-tests.ts index ec9371b907..f3fd2e71e3 100644 --- a/types/aws-serverless-express/aws-serverless-express-tests.ts +++ b/types/aws-serverless-express/aws-serverless-express-tests.ts @@ -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 => {}); diff --git a/types/aws-serverless-express/index.d.ts b/types/aws-serverless-express/index.d.ts index a8c4ada124..b3092ad02b 100644 --- a/types/aws-serverless-express/index.d.ts +++ b/types/aws-serverless-express/index.d.ts @@ -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; +} + 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( +export function proxy( server: http.Server, event: any, context: lambda.Context, - resolutionMode: 'CALLBACK', - callback?: () => T -): {promise: Promise}; + resolutionMode: 'CONTEXT_SUCCEED', +): void; export function proxy( server: http.Server, event: any, context: lambda.Context, - resolutionMode?: 'CONTEXT_SUCCEED' | 'PROMISE' -): {promise: Promise}; + resolutionMode: 'PROMISE' +): ProxyResult; + +export function proxy( + server: http.Server, + event: any, + context: lambda.Context, + resolutionMode: 'CALLBACK', + callback?: (error: any, response: Response) => void +): void;