Skip to content

Commit 1237967

Browse files
authored
Merge pull request #313 from dapper91/decorators-typing
- computed_attr and computed_element decorators typing fixed.
2 parents 9af209f + 72b44b3 commit 1237967

1 file changed

Lines changed: 33 additions & 1 deletion

File tree

‎pydantic_xml/fields.py‎

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import copy
22
import dataclasses as dc
33
import typing
4-
from typing import Any, Callable, Dict, Optional, Union
4+
from typing import Any, Callable, Dict, Optional, Union, overload
55

66
import pydantic as pd
77
import pydantic_core as pdc
@@ -266,6 +266,21 @@ def decorator(prop: Any) -> Any:
266266
return decorator(prop)
267267

268268

269+
@overload
270+
def computed_attr(
271+
*,
272+
name: Optional[str] = None,
273+
ns: Optional[str] = None,
274+
**kwargs: Any,
275+
) -> Callable[[PropertyT], PropertyT]:
276+
...
277+
278+
279+
@overload
280+
def computed_attr(prop: PropertyT) -> PropertyT:
281+
...
282+
283+
269284
def computed_attr(
270285
prop: Optional[PropertyT] = None,
271286
*,
@@ -285,6 +300,23 @@ def computed_attr(
285300
return computed_entity(EntityLocation.ATTRIBUTE, prop, path=name, ns=ns, **kwargs)
286301

287302

303+
@overload
304+
def computed_element(
305+
*,
306+
tag: Optional[str] = None,
307+
ns: Optional[str] = None,
308+
nsmap: Optional[NsMap] = None,
309+
nillable: Optional[bool] = None,
310+
**kwargs: Any,
311+
) -> Callable[[PropertyT], PropertyT]:
312+
...
313+
314+
315+
@overload
316+
def computed_element(prop: PropertyT) -> PropertyT:
317+
...
318+
319+
288320
def computed_element(
289321
prop: Optional[PropertyT] = None,
290322
*,

0 commit comments

Comments
 (0)