1- from collections .abc import Iterable , Iterator
1+ from collections .abc import Callable , Iterable , Iterator
22import sys
3- from typing import TYPE_CHECKING , Any , Callable , Optional , Union , overload
3+ from typing import TYPE_CHECKING , Any , Optional , Union , overload
44
55from bigxml .handler_creator import create_handler
66from bigxml .typing import (
2020
2121
2222class HandleMgr :
23- _handle : Optional [
23+ _handle : (
2424 Callable [
25- [Callable [[Union ["XMLElement" , "XMLText" ]], Iterator [Any ]]],
26- Iterator [Any ],
25+ [Callable [[Union ["XMLElement" , "XMLText" ]], Iterator [Any ]]], Iterator [Any ]
2726 ]
28- ] = None
27+ | None
28+ ) = None
2929
3030 # iter_from
3131
@@ -37,67 +37,55 @@ def iter_from(
3737 @overload
3838 def iter_from (
3939 self ,
40- * handlers : Union [
41- str ,
42- list [str ],
43- tuple [str , ...],
44- ],
40+ * handlers : str | list [str ] | tuple [str , ...],
4541 ) -> Iterator ["XMLElement" ]: ...
4642
4743 @overload
4844 def iter_from (
4945 self ,
50- * handlers : Union [
51- Callable [[Union ["XMLElement" , "XMLText" ]], Optional [Iterable [T ]]],
52- ClassHandlerWithCustomWrapper0 [T ],
53- ClassHandlerWithCustomWrapper1 [T ],
54- type [ClassHandlerWithCustomWrapper0 [T ]],
55- type [ClassHandlerWithCustomWrapper1 [T ]],
56- ],
46+ * handlers : Callable [[Union ["XMLElement" , "XMLText" ]], Iterable [T ] | None ]
47+ | ClassHandlerWithCustomWrapper0 [T ]
48+ | ClassHandlerWithCustomWrapper1 [T ]
49+ | type [ClassHandlerWithCustomWrapper0 [T ]]
50+ | type [ClassHandlerWithCustomWrapper1 [T ]],
5751 ) -> Iterator [T ]: ...
5852
5953 @overload
6054 def iter_from (
6155 self ,
62- * handlers : Union [
63- Callable [[Union ["XMLElement" , "XMLText" ]], Optional [Iterable [T ]]],
64- ClassHandlerWithCustomWrapper0 [T ],
65- ClassHandlerWithCustomWrapper1 [T ],
66- type [ClassHandlerWithCustomWrapper0 [T ]],
67- type [ClassHandlerWithCustomWrapper1 [T ]],
68- type [T ],
69- ],
56+ * handlers : Callable [[Union ["XMLElement" , "XMLText" ]], Iterable [T ] | None ]
57+ | ClassHandlerWithCustomWrapper0 [T ]
58+ | ClassHandlerWithCustomWrapper1 [T ]
59+ | type [ClassHandlerWithCustomWrapper0 [T ]]
60+ | type [ClassHandlerWithCustomWrapper1 [T ]]
61+ | type [T ],
7062 ) -> Iterator [T ]: ...
7163
7264 @overload
7365 def iter_from (
7466 self ,
75- * handlers : Union [
76- Callable [[Union ["XMLElement" , "XMLText" ]], Optional [Iterable [T ]]],
77- ClassHandlerWithCustomWrapper0 [T ],
78- ClassHandlerWithCustomWrapper1 [T ],
79- type [ClassHandlerWithCustomWrapper0 [T ]],
80- type [ClassHandlerWithCustomWrapper1 [T ]],
81- str ,
82- list [str ],
83- tuple [str , ...],
84- ],
67+ * handlers : Callable [[Union ["XMLElement" , "XMLText" ]], Iterable [T ] | None ]
68+ | ClassHandlerWithCustomWrapper0 [T ]
69+ | ClassHandlerWithCustomWrapper1 [T ]
70+ | type [ClassHandlerWithCustomWrapper0 [T ]]
71+ | type [ClassHandlerWithCustomWrapper1 [T ]]
72+ | str
73+ | list [str ]
74+ | tuple [str , ...],
8575 ) -> Iterator [Union ["XMLElement" , T ]]: ...
8676
8777 @overload
8878 def iter_from (
8979 self ,
90- * handlers : Union [
91- Callable [[Union ["XMLElement" , "XMLText" ]], Optional [Iterable [T ]]],
92- ClassHandlerWithCustomWrapper0 [T ],
93- ClassHandlerWithCustomWrapper1 [T ],
94- type [ClassHandlerWithCustomWrapper0 [T ]],
95- type [ClassHandlerWithCustomWrapper1 [T ]],
96- type [T ],
97- str ,
98- list [str ],
99- tuple [str , ...],
100- ],
80+ * handlers : Callable [[Union ["XMLElement" , "XMLText" ]], Iterable [T ] | None ]
81+ | ClassHandlerWithCustomWrapper0 [T ]
82+ | ClassHandlerWithCustomWrapper1 [T ]
83+ | type [ClassHandlerWithCustomWrapper0 [T ]]
84+ | type [ClassHandlerWithCustomWrapper1 [T ]]
85+ | type [T ]
86+ | str
87+ | list [str ]
88+ | tuple [str , ...],
10189 ) -> Iterator [Union ["XMLElement" , T ]]: ...
10290
10391 @overload
@@ -122,74 +110,62 @@ def return_from(
122110 @overload
123111 def return_from (
124112 self ,
125- * handlers : Union [
126- str ,
127- list [str ],
128- tuple [str , ...],
129- ],
113+ * handlers : str | list [str ] | tuple [str , ...],
130114 ) -> Optional ["XMLElement" ]: ...
131115
132116 @overload
133117 def return_from (
134118 self ,
135- * handlers : Union [
136- Callable [[Union ["XMLElement" , "XMLText" ]], Optional [Iterable [T ]]],
137- ClassHandlerWithCustomWrapper0 [T ],
138- ClassHandlerWithCustomWrapper1 [T ],
139- type [ClassHandlerWithCustomWrapper0 [T ]],
140- type [ClassHandlerWithCustomWrapper1 [T ]],
141- ],
142- ) -> Optional [T ]: ...
119+ * handlers : Callable [[Union ["XMLElement" , "XMLText" ]], Iterable [T ] | None ]
120+ | ClassHandlerWithCustomWrapper0 [T ]
121+ | ClassHandlerWithCustomWrapper1 [T ]
122+ | type [ClassHandlerWithCustomWrapper0 [T ]]
123+ | type [ClassHandlerWithCustomWrapper1 [T ]],
124+ ) -> T | None : ...
143125
144126 @overload
145127 def return_from (
146128 self ,
147- * handlers : Union [
148- Callable [[Union ["XMLElement" , "XMLText" ]], Optional [Iterable [T ]]],
149- ClassHandlerWithCustomWrapper0 [T ],
150- ClassHandlerWithCustomWrapper1 [T ],
151- type [ClassHandlerWithCustomWrapper0 [T ]],
152- type [ClassHandlerWithCustomWrapper1 [T ]],
153- type [T ],
154- ],
155- ) -> Optional [T ]: ...
129+ * handlers : Callable [[Union ["XMLElement" , "XMLText" ]], Iterable [T ] | None ]
130+ | ClassHandlerWithCustomWrapper0 [T ]
131+ | ClassHandlerWithCustomWrapper1 [T ]
132+ | type [ClassHandlerWithCustomWrapper0 [T ]]
133+ | type [ClassHandlerWithCustomWrapper1 [T ]]
134+ | type [T ],
135+ ) -> T | None : ...
156136
157137 @overload
158138 def return_from (
159139 self ,
160- * handlers : Union [
161- Callable [[Union ["XMLElement" , "XMLText" ]], Optional [Iterable [T ]]],
162- ClassHandlerWithCustomWrapper0 [T ],
163- ClassHandlerWithCustomWrapper1 [T ],
164- type [ClassHandlerWithCustomWrapper0 [T ]],
165- type [ClassHandlerWithCustomWrapper1 [T ]],
166- str ,
167- list [str ],
168- tuple [str , ...],
169- ],
170- ) -> Optional [Union ["XMLElement" , T ]]: ...
140+ * handlers : Callable [[Union ["XMLElement" , "XMLText" ]], Iterable [T ] | None ]
141+ | ClassHandlerWithCustomWrapper0 [T ]
142+ | ClassHandlerWithCustomWrapper1 [T ]
143+ | type [ClassHandlerWithCustomWrapper0 [T ]]
144+ | type [ClassHandlerWithCustomWrapper1 [T ]]
145+ | str
146+ | list [str ]
147+ | tuple [str , ...],
148+ ) -> Union ["XMLElement" , T ] | None : ...
171149
172150 @overload
173151 def return_from (
174152 self ,
175- * handlers : Union [
176- Callable [[Union ["XMLElement" , "XMLText" ]], Optional [Iterable [T ]]],
177- ClassHandlerWithCustomWrapper0 [T ],
178- ClassHandlerWithCustomWrapper1 [T ],
179- type [ClassHandlerWithCustomWrapper0 [T ]],
180- type [ClassHandlerWithCustomWrapper1 [T ]],
181- str ,
182- list [str ],
183- tuple [str , ...],
184- type [T ],
185- ],
186- ) -> Optional [Union ["XMLElement" , T ]]: ...
153+ * handlers : Callable [[Union ["XMLElement" , "XMLText" ]], Iterable [T ] | None ]
154+ | ClassHandlerWithCustomWrapper0 [T ]
155+ | ClassHandlerWithCustomWrapper1 [T ]
156+ | type [ClassHandlerWithCustomWrapper0 [T ]]
157+ | type [ClassHandlerWithCustomWrapper1 [T ]]
158+ | str
159+ | list [str ]
160+ | tuple [str , ...]
161+ | type [T ],
162+ ) -> Union ["XMLElement" , T ] | None : ...
187163
188164 @overload
189165 def return_from (
190166 self ,
191167 * handlers : object ,
192- ) -> Optional [ object ] : ...
168+ ) -> object | None : ...
193169
194- def return_from (self , * handlers : Any ) -> Optional [ Any ] :
170+ def return_from (self , * handlers : Any ) -> Any | None :
195171 return last_item_or_none (self .iter_from (* handlers ))
0 commit comments