Skip to content

Commit f9185d6

Browse files
committed
refactor: apply review changes
1 parent 63df240 commit f9185d6

File tree

1 file changed

+18
-22
lines changed

1 file changed

+18
-22
lines changed

packages/tracer/src/Tracer.ts

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Handler } from 'aws-lambda';
2-
import { Utility } from '@aws-lambda-powertools/commons';
2+
import { AsyncHandler, SyncHandler, Utility } from '@aws-lambda-powertools/commons';
33
import { TracerInterface } from '.';
44
import { ConfigServiceInterface, EnvironmentVariablesService } from './config';
55
import { HandlerMethodDecorator, TracerOptions, MethodDecorator } from './types';
@@ -348,30 +348,26 @@ class Tracer extends Utility implements TracerInterface {
348348
const originalMethod = descriptor.value!;
349349

350350
// eslint-disable-next-line @typescript-eslint/no-this-alias
351-
const that = this;
351+
const tracerRef = this;
352352
// Use a function() {} instead of an () => {} arrow function so that we can
353353
// access `myClass` as `this` in a decorated `myClass.myMethod()`.
354-
descriptor.value = (function (event, context, callback) {
355-
// We know that 'this' is a LambdaHandler because captureLambdaHandler
356-
// can only be applied to a LambdaHandler.
357-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
358-
// @ts-ignore
354+
descriptor.value = (function (this: Handler, event, context, callback) {
359355
// eslint-disable-next-line @typescript-eslint/no-this-alias
360-
const thisLambdaHandler: LambdaHandler = this;
356+
const handlerRef: Handler = this;
361357

362-
if (!that.isTracingEnabled()) {
363-
return originalMethod.apply(thisLambdaHandler, [ event, context, callback ]);
358+
if (!tracerRef.isTracingEnabled()) {
359+
return originalMethod.apply(handlerRef, [ event, context, callback ]);
364360
}
365361

366-
return that.provider.captureAsyncFunc(`## ${process.env._HANDLER}`, async subsegment => {
367-
that.annotateColdStart();
368-
that.addServiceNameAnnotation();
362+
return tracerRef.provider.captureAsyncFunc(`## ${process.env._HANDLER}`, async subsegment => {
363+
tracerRef.annotateColdStart();
364+
tracerRef.addServiceNameAnnotation();
369365
let result: unknown;
370366
try {
371-
result = await originalMethod.apply(thisLambdaHandler, [ event, context, callback ]);
372-
that.addResponseAsMetadata(result, process.env._HANDLER);
367+
result = await originalMethod.apply(handlerRef, [ event, context, callback ]);
368+
tracerRef.addResponseAsMetadata(result, process.env._HANDLER);
373369
} catch (error) {
374-
that.addErrorAsMetadata(error as Error);
370+
tracerRef.addErrorAsMetadata(error as Error);
375371
throw error;
376372
} finally {
377373
subsegment?.close();
@@ -380,7 +376,7 @@ class Tracer extends Utility implements TracerInterface {
380376

381377
return result;
382378
});
383-
}) as Handler;
379+
}) as SyncHandler<Handler> | AsyncHandler<Handler>;
384380

385381
return descriptor;
386382
};
@@ -428,21 +424,21 @@ class Tracer extends Utility implements TracerInterface {
428424
const originalMethod = descriptor.value!;
429425

430426
// eslint-disable-next-line @typescript-eslint/no-this-alias
431-
const that = this;
427+
const tracerRef = this;
432428
// Use a function() {} instead of an () => {} arrow function so that we can
433429
// access `myClass` as `this` in a decorated `myClass.myMethod()`.
434430
descriptor.value = function (...args: unknown[]) {
435-
if (!that.isTracingEnabled()) {
431+
if (!tracerRef.isTracingEnabled()) {
436432
return originalMethod.apply(this, [...args]);
437433
}
438434

439-
return that.provider.captureAsyncFunc(`### ${originalMethod.name}`, async subsegment => {
435+
return tracerRef.provider.captureAsyncFunc(`### ${originalMethod.name}`, async subsegment => {
440436
let result;
441437
try {
442438
result = await originalMethod.apply(this, [...args]);
443-
that.addResponseAsMetadata(result, originalMethod.name);
439+
tracerRef.addResponseAsMetadata(result, originalMethod.name);
444440
} catch (error) {
445-
that.addErrorAsMetadata(error as Error);
441+
tracerRef.addErrorAsMetadata(error as Error);
446442

447443
throw error;
448444
} finally {

0 commit comments

Comments
 (0)