From 4f8babdb79d880fbf77b55dd603ba554d95c63c1 Mon Sep 17 00:00:00 2001 From: Sergey Khomushin Date: Sat, 25 Dec 2021 23:38:44 +0200 Subject: [PATCH] fix(awslambda): remove the unsuitable undefined type (getsentry#3364) --- packages/serverless/src/awslambda.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/serverless/src/awslambda.ts b/packages/serverless/src/awslambda.ts index 6001613a91de..943fde40713e 100644 --- a/packages/serverless/src/awslambda.ts +++ b/packages/serverless/src/awslambda.ts @@ -209,13 +209,13 @@ function enhanceScopeWithEnvironmentData(scope: Scope, context: Context, startTi * Wraps a lambda handler adding it error capture and tracing capabilities. * * @param handler Handler - * @param options Options + * @param wrapOptions Options * @returns Handler */ export function wrapHandler( handler: Handler, wrapOptions: Partial = {}, -): Handler { +): Handler { const START_TIME = performance.now(); const options: WrapperOptions = { flushTimeout: 2000, @@ -293,12 +293,12 @@ export function wrapHandler( const hub = getCurrentHub(); const scope = hub.pushScope(); - let rv: TResult | undefined; + try { enhanceScopeWithEnvironmentData(scope, context, START_TIME); // We put the transaction on the scope so users can attach children to it scope.setSpan(transaction); - rv = await asyncHandler(event, context); + const rv: TResult = await asyncHandler(event, context); // We manage lambdas that use Promise.allSettled by capturing the errors of failed promises if (options.captureAllSettledReasons && Array.isArray(rv) && isPromiseAllSettledResult(rv)) { @@ -307,6 +307,8 @@ export function wrapHandler( captureException(exception); }); } + + return rv; } catch (e) { captureException(e); if (options.rethrowAfterCapture) { @@ -318,6 +320,6 @@ export function wrapHandler( hub.popScope(); await flush(options.flushTimeout); } - return rv; + return Promise.resolve(undefined!); }; }