Skip to content

Commit bf66299

Browse files
authored
fix: sfix typing hit for envelope parse model (#286)
1 parent 7b23b5b commit bf66299

File tree

7 files changed

+25
-25
lines changed

7 files changed

+25
-25
lines changed

Diff for: aws_lambda_powertools/utilities/parser/envelopes/base.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import logging
22
from abc import ABC, abstractmethod
3-
from typing import Any, Dict, Optional, TypeVar, Union
3+
from typing import Any, Dict, Optional, Type, TypeVar, Union
44

55
from ..types import Model
66

@@ -11,14 +11,14 @@ class BaseEnvelope(ABC):
1111
"""ABC implementation for creating a supported Envelope"""
1212

1313
@staticmethod
14-
def _parse(data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Union[Model, None]:
14+
def _parse(data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> Union[Model, None]:
1515
"""Parses envelope data against model provided
1616
1717
Parameters
1818
----------
1919
data : Dict
2020
Data to be parsed and validated
21-
model : Model
21+
model : Type[Model]
2222
Data model to parse and validate data against
2323
2424
Returns
@@ -38,7 +38,7 @@ def _parse(data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Union[Mo
3838
return model.parse_obj(data)
3939

4040
@abstractmethod
41-
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model):
41+
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]):
4242
"""Implementation to parse data against envelope model, then against the data model
4343
4444
NOTE: Call `_parse` method to fully parse data with model provided.

Diff for: aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from typing import Any, Dict, List, Optional, Union
2+
from typing import Any, Dict, List, Optional, Type, Union
33

44
from ..models import CloudWatchLogsModel
55
from ..types import Model
@@ -18,14 +18,14 @@ class CloudWatchLogsEnvelope(BaseEnvelope):
1818
Note: The record will be parsed the same way so if model is str
1919
"""
2020

21-
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]:
21+
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]:
2222
"""Parses records found with model provided
2323
2424
Parameters
2525
----------
2626
data : Dict
2727
Lambda event to be parsed
28-
model : Model
28+
model : Type[Model]
2929
Data model provided to parse after extracting data using envelope
3030
3131
Returns

Diff for: aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from typing import Any, Dict, List, Optional, Union
2+
from typing import Any, Dict, List, Optional, Type, Union
33

44
from ..models import DynamoDBStreamModel
55
from ..types import Model
@@ -15,14 +15,14 @@ class DynamoDBStreamEnvelope(BaseEnvelope):
1515
length of the list is the record's amount in the original event.
1616
"""
1717

18-
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Dict[str, Optional[Model]]]:
18+
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Dict[str, Optional[Model]]]:
1919
"""Parses DynamoDB Stream records found in either NewImage and OldImage with model provided
2020
2121
Parameters
2222
----------
2323
data : Dict
2424
Lambda event to be parsed
25-
model : Model
25+
model : Type[Model]
2626
Data model provided to parse after extracting data using envelope
2727
2828
Returns

Diff for: aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from typing import Any, Dict, Optional, Union
2+
from typing import Any, Dict, Optional, Type, Union
33

44
from ..models import EventBridgeModel
55
from ..types import Model
@@ -11,14 +11,14 @@
1111
class EventBridgeEnvelope(BaseEnvelope):
1212
"""EventBridge envelope to extract data within detail key"""
1313

14-
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Optional[Model]:
14+
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> Optional[Model]:
1515
"""Parses data found with model provided
1616
1717
Parameters
1818
----------
1919
data : Dict
2020
Lambda event to be parsed
21-
model : Model
21+
model : Type[Model]
2222
Data model provided to parse after extracting data using envelope
2323
2424
Returns

Diff for: aws_lambda_powertools/utilities/parser/envelopes/kinesis.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from typing import Any, Dict, List, Optional, Union
2+
from typing import Any, Dict, List, Optional, Type, Union
33

44
from ..models import KinesisDataStreamModel
55
from ..types import Model
@@ -19,14 +19,14 @@ class KinesisDataStreamEnvelope(BaseEnvelope):
1919
all items in the list will be parsed as str and npt as JSON (and vice versa)
2020
"""
2121

22-
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]:
22+
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]:
2323
"""Parses records found with model provided
2424
2525
Parameters
2626
----------
2727
data : Dict
2828
Lambda event to be parsed
29-
model : Model
29+
model : Type[Model]
3030
Data model provided to parse after extracting data using envelope
3131
3232
Returns

Diff for: aws_lambda_powertools/utilities/parser/envelopes/sns.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from typing import Any, Dict, List, Optional, Union
2+
from typing import Any, Dict, List, Optional, Type, Union
33

44
from ..models import SnsModel, SnsNotificationModel, SqsModel
55
from ..types import Model
@@ -16,16 +16,16 @@ class SnsEnvelope(BaseEnvelope):
1616
1717
Note: Records will be parsed the same way so if model is str,
1818
all items in the list will be parsed as str and npt as JSON (and vice versa)
19-
"""
19+
"""
2020

21-
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]:
21+
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]:
2222
"""Parses records found with model provided
2323
2424
Parameters
2525
----------
2626
data : Dict
2727
Lambda event to be parsed
28-
model : Model
28+
model : Type[Model]
2929
Data model provided to parse after extracting data using envelope
3030
3131
Returns
@@ -50,14 +50,14 @@ class SnsSqsEnvelope(BaseEnvelope):
5050
3. Finally, parse provided model against payload extracted
5151
"""
5252

53-
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]:
53+
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]:
5454
"""Parses records found with model provided
5555
5656
Parameters
5757
----------
5858
data : Dict
5959
Lambda event to be parsed
60-
model : Model
60+
model : Type[Model]
6161
Data model provided to parse after extracting data using envelope
6262
6363
Returns

Diff for: aws_lambda_powertools/utilities/parser/envelopes/sqs.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from typing import Any, Dict, List, Optional, Union
2+
from typing import Any, Dict, List, Optional, Type, Union
33

44
from ..models import SqsModel
55
from ..types import Model
@@ -18,14 +18,14 @@ class SqsEnvelope(BaseEnvelope):
1818
all items in the list will be parsed as str and npt as JSON (and vice versa)
1919
"""
2020

21-
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> List[Optional[Model]]:
21+
def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Type[Model]) -> List[Optional[Model]]:
2222
"""Parses records found with model provided
2323
2424
Parameters
2525
----------
2626
data : Dict
2727
Lambda event to be parsed
28-
model : Model
28+
model : Type[Model]
2929
Data model provided to parse after extracting data using envelope
3030
3131
Returns

0 commit comments

Comments
 (0)