Commit d044463
authored
fix(parser): Improve types for parser.py (#419)
When attempting to use the parse function we noticed we were getting
error messages like:
Value of type variable "Model" of "parse" cannot be "Type[UserModel]"
Further investigation (using the example shown at
https://awslabs.github.io/aws-lambda-powertools-python/latest/utilities/parser/#envelopes)
showed that the types were incorrect for the example. The function
signatures were expecting an instance of `Model`, however the example
(and code) seemeed to expect a `Type[Model]`.
Similarly the signatures were expecting an optional instance of an
Envelope, but the code allows for either an instance or a Type.
Also, added a `TypeVar` for the decorator, specifying that the
event_parser` decorator returns the same type as the handler used.
Finally updated documentation on use of parser.1 parent d1cd5cb commit d044463
2 files changed
+14
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
13 | 16 | | |
14 | 17 | | |
15 | | - | |
| 18 | + | |
16 | 19 | | |
17 | 20 | | |
18 | | - | |
19 | | - | |
20 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
21 | 24 | | |
22 | 25 | | |
23 | 26 | | |
| |||
83 | 86 | | |
84 | 87 | | |
85 | 88 | | |
86 | | - | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
87 | 92 | | |
88 | 93 | | |
89 | 94 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
272 | 272 | | |
273 | 273 | | |
274 | 274 | | |
275 | | - | |
| 275 | + | |
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
279 | 279 | | |
280 | 280 | | |
281 | | - | |
| 281 | + | |
282 | 282 | | |
283 | 283 | | |
284 | 284 | | |
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
289 | | - | |
| 289 | + | |
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
| |||
0 commit comments