|
10 | 10 | from threading import get_ident as get_thread_id
|
11 | 11 | from types import FunctionType
|
12 | 12 | from typing import (
|
| 13 | + TYPE_CHECKING, |
13 | 14 | Any,
|
14 | 15 | Awaitable,
|
15 | 16 | Callable,
|
|
31 | 32 | from idom.utils import Ref
|
32 | 33 |
|
33 | 34 |
|
| 35 | +if not TYPE_CHECKING: |
| 36 | + # make flake8 think that this variable exists |
| 37 | + ellipsis = type(...) |
| 38 | + |
| 39 | + |
34 | 40 | __all__ = [
|
35 | 41 | "use_state",
|
36 | 42 | "use_effect",
|
@@ -103,22 +109,22 @@ def dispatch(
|
103 | 109 | @overload
|
104 | 110 | def use_effect(
|
105 | 111 | function: None = None,
|
106 |
| - args: Sequence[Any] | "ellipsis" | None = ..., |
| 112 | + args: Sequence[Any] | ellipsis | None = ..., |
107 | 113 | ) -> Callable[[_EffectApplyFunc], None]:
|
108 | 114 | ...
|
109 | 115 |
|
110 | 116 |
|
111 | 117 | @overload
|
112 | 118 | def use_effect(
|
113 | 119 | function: _EffectApplyFunc,
|
114 |
| - args: Sequence[Any] | "ellipsis" | None = ..., |
| 120 | + args: Sequence[Any] | ellipsis | None = ..., |
115 | 121 | ) -> None:
|
116 | 122 | ...
|
117 | 123 |
|
118 | 124 |
|
119 | 125 | def use_effect(
|
120 | 126 | function: Optional[_EffectApplyFunc] = None,
|
121 |
| - args: Sequence[Any] | "ellipsis" | None = ..., |
| 127 | + args: Sequence[Any] | ellipsis | None = ..., |
122 | 128 | ) -> Optional[Callable[[_EffectApplyFunc], None]]:
|
123 | 129 | """See the full :ref:`Use Effect` docs for details
|
124 | 130 |
|
@@ -215,22 +221,22 @@ def dispatch(action: _ActionType) -> None:
|
215 | 221 | @overload
|
216 | 222 | def use_callback(
|
217 | 223 | function: None = None,
|
218 |
| - args: Sequence[Any] | "ellipsis" | None = ..., |
| 224 | + args: Sequence[Any] | ellipsis | None = ..., |
219 | 225 | ) -> Callable[[_CallbackFunc], _CallbackFunc]:
|
220 | 226 | ...
|
221 | 227 |
|
222 | 228 |
|
223 | 229 | @overload
|
224 | 230 | def use_callback(
|
225 | 231 | function: _CallbackFunc,
|
226 |
| - args: Sequence[Any] | "ellipsis" | None = ..., |
| 232 | + args: Sequence[Any] | ellipsis | None = ..., |
227 | 233 | ) -> _CallbackFunc:
|
228 | 234 | ...
|
229 | 235 |
|
230 | 236 |
|
231 | 237 | def use_callback(
|
232 | 238 | function: Optional[_CallbackFunc] = None,
|
233 |
| - args: Sequence[Any] | "ellipsis" | None = ..., |
| 239 | + args: Sequence[Any] | ellipsis | None = ..., |
234 | 240 | ) -> Union[_CallbackFunc, Callable[[_CallbackFunc], _CallbackFunc]]:
|
235 | 241 | """See the full :ref:`Use Callback` docs for details
|
236 | 242 |
|
@@ -263,22 +269,22 @@ def __call__(self, func: Callable[[], _StateType]) -> _StateType:
|
263 | 269 | @overload
|
264 | 270 | def use_memo(
|
265 | 271 | function: None = None,
|
266 |
| - args: Sequence[Any] | "ellipsis" | None = ..., |
| 272 | + args: Sequence[Any] | ellipsis | None = ..., |
267 | 273 | ) -> _LambdaCaller:
|
268 | 274 | ...
|
269 | 275 |
|
270 | 276 |
|
271 | 277 | @overload
|
272 | 278 | def use_memo(
|
273 | 279 | function: Callable[[], _StateType],
|
274 |
| - args: Sequence[Any] | "ellipsis" | None = ..., |
| 280 | + args: Sequence[Any] | ellipsis | None = ..., |
275 | 281 | ) -> _StateType:
|
276 | 282 | ...
|
277 | 283 |
|
278 | 284 |
|
279 | 285 | def use_memo(
|
280 | 286 | function: Optional[Callable[[], _StateType]] = None,
|
281 |
| - args: Sequence[Any] | "ellipsis" | None = ..., |
| 287 | + args: Sequence[Any] | ellipsis | None = ..., |
282 | 288 | ) -> Union[_StateType, Callable[[Callable[[], _StateType]], _StateType]]:
|
283 | 289 | """See the full :ref:`Use Memo` docs for details
|
284 | 290 |
|
@@ -364,7 +370,7 @@ def _use_const(function: Callable[[], _StateType]) -> _StateType:
|
364 | 370 |
|
365 | 371 | def _try_to_infer_closure_args(
|
366 | 372 | func: Callable[..., Any] | None,
|
367 |
| - args: Sequence[Any] | "ellipsis" | None, |
| 373 | + args: Sequence[Any] | ellipsis | None, |
368 | 374 | ) -> Sequence[Any] | None:
|
369 | 375 | if args is ...:
|
370 | 376 | if isinstance(func, FunctionType):
|
|
0 commit comments