Skip to content

Commit dcb7b0e

Browse files
committed
Improve sql.coercions
1 parent 5e8dee0 commit dcb7b0e

File tree

1 file changed

+14
-19
lines changed

1 file changed

+14
-19
lines changed

sqlalchemy-stubs/sql/coercions.pyi

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
from types import ModuleType
22
from typing import Any
3+
from typing import Iterable
4+
from typing import Iterator
35
from typing import Optional
6+
from typing import Tuple
7+
from typing import TypeVar
48

5-
from . import operators as operators
6-
from . import roles as roles
7-
from . import visitors as visitors
8-
from .base import Options as Options
9-
from .traversals import HasCacheKey as HasCacheKey
10-
from .visitors import Visitable as Visitable
11-
from .. import exc as exc
12-
from .. import inspection as inspection
13-
from .. import util as util
14-
from ..util import collections_abc as collections_abc
9+
from . import roles
10+
11+
_T = TypeVar("_T")
1512

1613
elements: ModuleType
1714
lambdas: ModuleType
@@ -21,17 +18,19 @@ sqltypes: ModuleType
2118
traversals: ModuleType
2219

2320
def expect(
24-
role: Any,
21+
role: _T,
2522
element: Any,
2623
apply_propagate_attrs: Optional[Any] = ...,
2724
argname: Optional[Any] = ...,
2825
**kw: Any,
29-
): ...
30-
def expect_as_key(role: Any, element: Any, **kw: Any): ...
31-
def expect_col_expression_collection(role: Any, expressions: Any) -> None: ...
26+
) -> _T: ...
27+
def expect_as_key(role: _T, element: Any, **kw: Any) -> _T: ...
28+
def expect_col_expression_collection(
29+
role: _T, expressions: Iterable[Any]
30+
) -> Iterator[Tuple[_T, Any, str, Any]]: ...
3231

3332
class RoleImpl:
34-
name: Any = ...
33+
name: str = ...
3534
def __init__(self, role_class: Any) -> None: ...
3635

3736
class _Deannotate: ...
@@ -78,7 +77,3 @@ class AnonymizedFromClauseImpl(StrictFromClauseImpl): ...
7877
class DMLTableImpl(_SelectIsNotFrom, _NoTextCoercion, RoleImpl): ...
7978
class DMLSelectImpl(_NoTextCoercion, RoleImpl): ...
8079
class CompoundElementImpl(_NoTextCoercion, RoleImpl): ...
81-
82-
cls: Any
83-
name: Any
84-
impl: Any

0 commit comments

Comments
 (0)