1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
import warnings
from typing import TYPE_CHECKING, Any
from .cursor_connection import (
DjangoCursorConnection,
DjangoCursorEdge,
OrderedCollectionCursor,
OrderingDescriptor,
apply_cursor_pagination,
)
from .list_connection import DjangoListConnection
from .utils import (
resolve_model_id,
resolve_model_id_attr,
resolve_model_node,
resolve_model_nodes,
)
if TYPE_CHECKING:
from .list_connection import ListConnectionWithTotalCount # noqa: F401
__all__ = [
"DjangoCursorConnection",
"DjangoCursorEdge",
"DjangoListConnection",
"OrderedCollectionCursor",
"OrderingDescriptor",
"apply_cursor_pagination",
"resolve_model_id",
"resolve_model_id_attr",
"resolve_model_node",
"resolve_model_nodes",
]
def __getattr__(name: str) -> Any:
if name == "ListConnectionWithTotalCount":
warnings.warn(
"`ListConnectionWithTotalCount` is deprecated, use `DjangoListConnection` instead.",
DeprecationWarning,
stacklevel=2,
)
return DjangoListConnection
raise AttributeError(f"module {__name__} has no attribute {name}")
|