11from typing import Any
2+ from typing import Callable
3+ from typing import Iterator
24from typing import Optional
5+ from typing import Type
36
4- from . import coercions as coercions
5- from . import elements as elements
6- from . import roles as roles
7- from . import schema as schema
8- from . import traversals as traversals
9- from . import type_api as type_api
10- from . import visitors as visitors
11- from .base import Options as Options
12- from .operators import ColumnOperators as ColumnOperators
13- from .. import exc as exc
14- from .. import inspection as inspection
15- from .. import util as util
16- from ..util import collections_abc as collections_abc
7+ from . import elements
8+ from . import roles
9+ from .base import Options
10+ from .operators import ColumnOperators
1711
1812class LambdaOptions (Options ):
1913 enable_tracking : bool = ...
@@ -31,99 +25,123 @@ def lambda_stmt(
3125 global_track_bound_values : bool = ...,
3226 track_bound_values : bool = ...,
3327 lambda_cache : Optional [Any ] = ...,
34- ): ...
28+ ) -> StatementLambdaElement : ...
3529
3630class LambdaElement (elements .ClauseElement ):
3731 __visit_name__ : str = ...
3832 parent_lambda : Any = ...
39- fn : Any = ...
40- role : Any = ...
33+ fn : Callable [..., elements . ClauseElement ] = ...
34+ role : Type [ Any ] = ...
4135 tracker_key : Any = ...
4236 opts : Any = ...
4337 def __init__ (
4438 self ,
45- fn : Any ,
46- role : Any ,
39+ fn : Callable [..., elements . ClauseElement ] ,
40+ role : Type [ Any ] ,
4741 opts : Any = ...,
4842 apply_propagate_attrs : Optional [Any ] = ...,
4943 ) -> None : ...
50- def __getattr__ (self , key : Any ): ...
44+ def __getattr__ (self , key : Any ) -> Any : ...
5145
5246class DeferredLambdaElement (LambdaElement ):
5347 lambda_args : Any = ...
5448 def __init__ (
55- self , fn : Any , role : Any , opts : Any = ..., lambda_args : Any = ...
49+ self ,
50+ fn : Callable [..., elements .ClauseElement ],
51+ role : Type [Any ],
52+ opts : Any = ...,
53+ lambda_args : Any = ...,
5654 ) -> None : ...
5755
5856class StatementLambdaElement (roles .AllowsLambdaRole , LambdaElement ):
59- def __add__ (self , other : Any ): ...
57+ def __add__ (self , other : Any ) -> LinkedLambdaElement : ...
6058 def add_criteria (
6159 self ,
6260 other : Any ,
6361 enable_tracking : bool = ...,
6462 track_on : Optional [Any ] = ...,
6563 track_closure_variables : bool = ...,
6664 track_bound_values : bool = ...,
67- ): ...
68- def spoil (self ): ...
65+ ) -> LinkedLambdaElement : ...
66+ def spoil (self ) -> NullLambdaStatement : ...
6967
7068class NullLambdaStatement (roles .AllowsLambdaRole , elements .ClauseElement ):
7169 __visit_name__ : str = ...
7270 def __init__ (self , statement : Any ) -> None : ...
73- def __getattr__ (self , key : Any ): ...
74- def __add__ (self , other : Any ): ...
75- def add_criteria (self , other : Any , ** kw : Any ): ...
71+ def __getattr__ (self , key : Any ) -> Any : ...
72+ def __add__ (self , other : Any ) -> NullLambdaStatement : ...
73+ def add_criteria (self , other : Any , ** kw : Any ) -> NullLambdaStatement : ...
7674
7775class LinkedLambdaElement (StatementLambdaElement ):
7876 role : Any = ...
7977 opts : Any = ...
8078 fn : Any = ...
8179 parent_lambda : Any = ...
8280 tracker_key : Any = ...
83- def __init__ (self , fn : Any , parent_lambda : Any , opts : Any ) -> None : ...
81+ def __init__ (
82+ self ,
83+ fn : Callable [..., elements .ClauseElement ],
84+ parent_lambda : StatementLambdaElement ,
85+ opts : Any ,
86+ ) -> None : ...
8487
8588class AnalyzedCode :
8689 @classmethod
87- def get (cls , fn : Any , lambda_element : Any , lambda_kw : Any , ** kw : Any ): ...
90+ def get (
91+ cls ,
92+ fn : Callable [..., elements .ClauseElement ],
93+ lambda_element : LambdaElement ,
94+ lambda_kw : Any ,
95+ ** kw : Any ,
96+ ) -> Any : ...
8897 track_bound_values : Any = ...
8998 track_closure_variables : Any = ...
9099 bindparam_trackers : Any = ...
91100 closure_trackers : Any = ...
92101 build_py_wrappers : Any = ...
93- def __init__ (self , fn : Any , lambda_element : Any , opts : Any ) -> None : ...
102+ def __init__ (
103+ self ,
104+ fn : Callable [..., elements .ClauseElement ],
105+ lambda_element : LambdaElement ,
106+ opts : Any ,
107+ ) -> None : ...
94108
95109class AnalyzedFunction :
96110 analyzed_code : Any = ...
97- fn : Any = ...
111+ fn : Callable [..., elements . ClauseElement ] = ...
98112 bindparam_trackers : Any = ...
99113 def __init__ (
100114 self ,
101115 analyzed_code : Any ,
102- lambda_element : Any ,
116+ lambda_element : LambdaElement ,
103117 apply_propagate_attrs : Any ,
104- fn : Any ,
118+ fn : Callable [..., elements . ClauseElement ] ,
105119 ) -> None : ...
106120
107121class PyWrapper (ColumnOperators ):
108- fn : Any = ...
122+ fn : Callable [..., elements . ClauseElement ] = ...
109123 track_bound_values : Any = ...
110124 def __init__ (
111125 self ,
112- fn : Any ,
113- name : Any ,
126+ fn : Callable [..., elements . ClauseElement ] ,
127+ name : str ,
114128 to_evaluate : Any ,
115129 closure_index : Optional [Any ] = ...,
116130 getter : Optional [Any ] = ...,
117131 track_bound_values : bool = ...,
118132 ) -> None : ...
119- def __call__ (self , * arg : Any , ** kw : Any ): ...
120- def operate (self , op : Any , * other : Any , ** kwargs : Any ): ...
121- def reverse_operate (self , op : Any , other : Any , ** kwargs : Any ): ...
122- def __clause_element__ (self ): ...
123- def __bool__ (self ): ...
124- def __nonzero__ (self ): ...
125- def __getattribute__ (self , key : Any ): ...
126- def __iter__ (self ) -> Any : ...
127- def __getitem__ (self , key : Any ): ...
133+ def __call__ (self , * arg : Any , ** kw : Any ) -> Any : ...
134+ def operate (
135+ self , op : Any , * other : Any , ** kwargs : Any
136+ ) -> elements .ClauseElement : ...
137+ def reverse_operate (
138+ self , op : Any , other : Any , ** kwargs : Any
139+ ) -> elements .ClauseElement : ...
140+ def __clause_element__ (self ) -> elements .ClauseElement : ...
141+ def __bool__ (self ) -> bool : ...
142+ def __nonzero__ (self ) -> bool : ...
143+ def __getattribute__ (self , key : Any ) -> Any : ...
144+ def __iter__ (self ) -> Iterator [Any ]: ...
145+ def __getitem__ (self , key : Any ) -> Any : ...
128146
129- def insp (lmb : Any ): ...
147+ def insp (lmb : Any ) -> Any : ...
0 commit comments