|
1 | | -from __future__ import annotations |
| 1 | +from __future__ import annotations # nocov |
2 | 2 |
|
3 | | -from collections.abc import MutableMapping |
4 | | -from typing import Any |
| 3 | +from collections.abc import MutableMapping # nocov |
| 4 | +from typing import Any # nocov |
5 | 5 |
|
6 | | -from reactpy.backend.types import Connection, Location |
7 | | -from reactpy.core.hooks import create_context, use_context |
8 | | -from reactpy.core.types import Context |
| 6 | +from reactpy._warnings import warn # nocov |
| 7 | +from reactpy.backend.types import Connection, Location # nocov |
| 8 | +from reactpy.core.hooks import ConnectionContext, use_context # nocov |
9 | 9 |
|
10 | | -# backend implementations should establish this context at the root of an app |
11 | | -ConnectionContext: Context[Connection[Any] | None] = create_context(None) |
12 | 10 |
|
13 | | - |
14 | | -def use_connection() -> Connection[Any]: |
| 11 | +def use_connection() -> Connection[Any]: # nocov |
15 | 12 | """Get the current :class:`~reactpy.backend.types.Connection`.""" |
| 13 | + warn( |
| 14 | + "The module reactpy.backend.hooks has been deprecated and will be deleted in the future. ", |
| 15 | + "Call reactpy.use_connection instead.", |
| 16 | + DeprecationWarning, |
| 17 | + ) |
| 18 | + |
16 | 19 | conn = use_context(ConnectionContext) |
17 | | - if conn is None: # nocov |
| 20 | + if conn is None: |
18 | 21 | msg = "No backend established a connection." |
19 | 22 | raise RuntimeError(msg) |
20 | 23 | return conn |
21 | 24 |
|
22 | 25 |
|
23 | | -def use_scope() -> MutableMapping[str, Any]: |
| 26 | +def use_scope() -> MutableMapping[str, Any]: # nocov |
24 | 27 | """Get the current :class:`~reactpy.backend.types.Connection`'s scope.""" |
| 28 | + warn( |
| 29 | + "The module reactpy.backend.hooks has been deprecated and will be deleted in the future. ", |
| 30 | + "Call reactpy.use_scope instead.", |
| 31 | + DeprecationWarning, |
| 32 | + ) |
| 33 | + |
25 | 34 | return use_connection().scope |
26 | 35 |
|
27 | 36 |
|
28 | | -def use_location() -> Location: |
| 37 | +def use_location() -> Location: # nocov |
29 | 38 | """Get the current :class:`~reactpy.backend.types.Connection`'s location.""" |
| 39 | + warn( |
| 40 | + "The module reactpy.backend.hooks has been deprecated and will be deleted in the future. ", |
| 41 | + "Call reactpy.use_location instead.", |
| 42 | + DeprecationWarning, |
| 43 | + ) |
| 44 | + |
30 | 45 | return use_connection().location |
0 commit comments