diff --git a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/__init__.pyi b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/__init__.pyi index 7d7713ee6..4872e63ef 100644 --- a/stubs/Flask-SQLAlchemy/flask_sqlalchemy/__init__.pyi +++ b/stubs/Flask-SQLAlchemy/flask_sqlalchemy/__init__.pyi @@ -1,4 +1,6 @@ -from typing import Any, TypeVar +from _typeshed import Incomplete +from collections.abc import Generator +from typing import Any, Generic, TypeVar from sqlalchemy.orm.query import Query from sqlalchemy.orm.session import Session @@ -16,37 +18,41 @@ class SignallingSession(Session): def get_debug_queries(): ... -class Pagination: - query: Any - page: Any - per_page: Any - total: Any - items: Any - def __init__(self, query, page, per_page, total, items) -> None: ... - @property - def pages(self): ... - def prev(self, error_out: bool = ...): ... - @property - def prev_num(self): ... - @property - def has_prev(self): ... - def next(self, error_out: bool = ...): ... - @property - def has_next(self): ... - @property - def next_num(self): ... - def iter_pages( - self, left_edge: int = ..., left_current: int = ..., right_current: int = ..., right_edge: int = ... - ) -> None: ... - _T = TypeVar("_T") class BaseQuery(Query[_T]): - def get_or_404(self, ident, description: Any | None = ...): ... - def first_or_404(self, description: Any | None = ...): ... + def get_or_404(self, ident, description: Incomplete | None = ...): ... + def first_or_404(self, description: Incomplete | None = ...): ... def paginate( - self, page: Any | None = ..., per_page: Any | None = ..., error_out: bool = ..., max_per_page: Any | None = ... - ): ... + self, + page: Incomplete | None = ..., + per_page: Incomplete | None = ..., + error_out: bool = ..., + max_per_page: Incomplete | None = ..., + ) -> Pagination[_T]: ... + +class Pagination(Generic[_T]): + query: BaseQuery[_T] | None + page: int + per_page: int + total: int | None + items: Any + def __init__(self, query: BaseQuery[_T] | None, page: int, per_page: int, total: int | None, items) -> None: ... + @property + def pages(self) -> int: ... + def prev(self, error_out: bool = ...) -> Pagination[_T]: ... + @property + def prev_num(self) -> int | None: ... + @property + def has_prev(self) -> bool: ... + def next(self, error_out: bool = ...) -> Pagination[_T]: ... + @property + def has_next(self) -> bool: ... + @property + def next_num(self) -> int | None: ... + def iter_pages( + self, left_edge: int = ..., left_current: int = ..., right_current: int = ..., right_edge: int = ... + ) -> Generator[int | None, None, None]: ... def get_state(app): ...