|
1 | 1 | from builtins import range |
2 | 2 | import traceback |
3 | 3 | from io import open |
4 | | -from typing import Union, Any, Dict, List, Set, Tuple, Optional, Callable, TYPE_CHECKING |
| 4 | +from typing import Union, Any, Dict, List, Set, Tuple, Optional, Callable, TYPE_CHECKING, cast, Type |
5 | 5 |
|
6 | 6 | if TYPE_CHECKING: |
7 | 7 | from eel.types import OptionsDictT, WebSocketT |
|
28 | 28 | mimetypes.add_type('application/javascript', '.js') |
29 | 29 | _eel_js_file: str = pkg.resource_filename('eel', 'eel.js') |
30 | 30 | _eel_js: str = open(_eel_js_file, encoding='utf-8').read() |
31 | | -_eel_json_dumps_default_function: Callable = lambda o: None |
| 31 | +_eel_json_dumps_default_function: Callable[[Any], Any] = lambda o: None |
32 | 32 | _websockets: List[Tuple[Any, WebSocketT]] = [] |
33 | 33 | _call_return_values: Dict[Any, Any] = {} |
34 | 34 | _call_return_callbacks: Dict[float, Tuple[Callable[..., Any], Optional[Callable[..., Any]]]] = {} |
@@ -302,10 +302,10 @@ def register_eel_routes(app: btl.Bottle) -> None: |
302 | 302 | # Private functions |
303 | 303 |
|
304 | 304 | def _safe_json_loads(obj: str) -> Any: |
305 | | - return jsn.loads(obj, cls=_start_args['json_decoder']) |
| 305 | + return jsn.loads(obj, cls=cast(Optional[Type[jsn.JSONDecoder]], _start_args['json_decoder'])) |
306 | 306 |
|
307 | 307 | def _safe_json_dumps(obj: Any) -> str: |
308 | | - return jsn.dumps(obj, cls=_start_args['json_encoder'], |
| 308 | + return jsn.dumps(obj, cls=cast(Optional[Type[jsn.JSONEncoder]], _start_args['json_encoder']), |
309 | 309 | default=_eel_json_dumps_default_function if not _start_args['json_encoder'] else None) |
310 | 310 |
|
311 | 311 |
|
@@ -416,7 +416,7 @@ def _detect_shutdown() -> None: |
416 | 416 | def _websocket_close(page: str) -> None: |
417 | 417 | global _shutdown |
418 | 418 |
|
419 | | - close_callback = _start_args.get('close_callback') |
| 419 | + close_callback = cast(Callable[..., Any], _start_args.get('close_callback')) |
420 | 420 |
|
421 | 421 | if close_callback is not None: |
422 | 422 | if not callable(close_callback): |
|
0 commit comments