| 
18 | 18 |  Optional,  | 
19 | 19 |  TypeVar,  | 
20 | 20 |  Union,  | 
 | 21 | + overload,  | 
21 | 22 | )  | 
22 | 23 | 
 
  | 
23 | 24 | import jmespath  | 
24 | 25 | 
 
  | 
25 | 26 | from ..shared import constants  | 
26 | 27 | from ..shared.functions import resolve_env_var_choice, resolve_truthy_env_var_choice  | 
 | 28 | +from ..shared.types import AnyCallableT  | 
27 | 29 | from .exceptions import InvalidLoggerSamplingRateError  | 
28 | 30 | from .filters import SuppressFilter  | 
29 | 31 | from .formatter import (  | 
@@ -314,13 +316,33 @@ def _configure_sampling(self):  | 
314 | 316 |  f"Please review POWERTOOLS_LOGGER_SAMPLE_RATE environment variable."  | 
315 | 317 |  )  | 
316 | 318 | 
 
  | 
 | 319 | + @overload  | 
317 | 320 |  def inject_lambda_context(  | 
318 | 321 |  self,  | 
319 |  | - lambda_handler: Optional[Callable[[Dict, Any], Any]] = None,  | 
 | 322 | + lambda_handler: AnyCallableT,  | 
320 | 323 |  log_event: Optional[bool] = None,  | 
321 | 324 |  correlation_id_path: Optional[str] = None,  | 
322 | 325 |  clear_state: Optional[bool] = False,  | 
323 |  | - ):  | 
 | 326 | + ) -> AnyCallableT:  | 
 | 327 | + ...  | 
 | 328 | + | 
 | 329 | + @overload  | 
 | 330 | + def inject_lambda_context(  | 
 | 331 | + self,  | 
 | 332 | + lambda_handler: None = None,  | 
 | 333 | + log_event: Optional[bool] = None,  | 
 | 334 | + correlation_id_path: Optional[str] = None,  | 
 | 335 | + clear_state: Optional[bool] = False,  | 
 | 336 | + ) -> Callable[[AnyCallableT], AnyCallableT]:  | 
 | 337 | + ...  | 
 | 338 | + | 
 | 339 | + def inject_lambda_context(  | 
 | 340 | + self,  | 
 | 341 | + lambda_handler: Optional[AnyCallableT] = None,  | 
 | 342 | + log_event: Optional[bool] = None,  | 
 | 343 | + correlation_id_path: Optional[str] = None,  | 
 | 344 | + clear_state: Optional[bool] = False,  | 
 | 345 | + ) -> Any:  | 
324 | 346 |  """Decorator to capture Lambda contextual info and inject into logger  | 
325 | 347 | 
  | 
326 | 348 |  Parameters  | 
 | 
0 commit comments