|
4 | 4 | import os
|
5 | 5 | import random
|
6 | 6 | import sys
|
7 |
| -from typing import IO, Any, Callable, Dict, Iterable, Optional, TypeVar, Union |
| 7 | +from typing import IO, Any, Callable, Iterable, Optional, TypeVar, Union, overload |
8 | 8 |
|
9 | 9 | import jmespath
|
10 | 10 |
|
11 | 11 | from ..shared import constants
|
12 | 12 | from ..shared.functions import resolve_env_var_choice, resolve_truthy_env_var_choice
|
| 13 | +from ..shared.types import AnyCallableT |
13 | 14 | from .exceptions import InvalidLoggerSamplingRateError
|
14 | 15 | from .filters import SuppressFilter
|
15 | 16 | from .formatter import (
|
@@ -270,13 +271,33 @@ def _configure_sampling(self):
|
270 | 271 | f"Please review POWERTOOLS_LOGGER_SAMPLE_RATE environment variable."
|
271 | 272 | )
|
272 | 273 |
|
| 274 | + @overload |
273 | 275 | def inject_lambda_context(
|
274 | 276 | self,
|
275 |
| - lambda_handler: Optional[Callable[[Dict, Any], Any]] = None, |
| 277 | + lambda_handler: AnyCallableT, |
276 | 278 | log_event: Optional[bool] = None,
|
277 | 279 | correlation_id_path: Optional[str] = None,
|
278 | 280 | clear_state: Optional[bool] = False,
|
279 |
| - ): |
| 281 | + ) -> AnyCallableT: |
| 282 | + ... |
| 283 | + |
| 284 | + @overload |
| 285 | + def inject_lambda_context( |
| 286 | + self, |
| 287 | + lambda_handler: None = None, |
| 288 | + log_event: Optional[bool] = None, |
| 289 | + correlation_id_path: Optional[str] = None, |
| 290 | + clear_state: Optional[bool] = False, |
| 291 | + ) -> Callable[[AnyCallableT], AnyCallableT]: |
| 292 | + ... |
| 293 | + |
| 294 | + def inject_lambda_context( |
| 295 | + self, |
| 296 | + lambda_handler: Optional[AnyCallableT] = None, |
| 297 | + log_event: Optional[bool] = None, |
| 298 | + correlation_id_path: Optional[str] = None, |
| 299 | + clear_state: Optional[bool] = False, |
| 300 | + ) -> Any: |
280 | 301 | """Decorator to capture Lambda contextual info and inject into logger
|
281 | 302 |
|
282 | 303 | Parameters
|
|
0 commit comments