Skip to content

Commit 36a5bb0

Browse files
Kevin Kirschepre-commit-ci[bot]AlexWaygood
authored
Annotate flask_sqlalchemy.__init__.Pagination (#8390)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Alex Waygood <[email protected]>
1 parent 66eef16 commit 36a5bb0

File tree

1 file changed

+30
-24
lines changed

1 file changed

+30
-24
lines changed

stubs/Flask-SQLAlchemy/flask_sqlalchemy/__init__.pyi

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
from typing import Any, TypeVar
1+
from _typeshed import Incomplete
2+
from collections.abc import Generator
3+
from typing import Any, Generic, TypeVar
24

35
from sqlalchemy.orm.query import Query
46
from sqlalchemy.orm.session import Session
@@ -16,37 +18,41 @@ class SignallingSession(Session):
1618

1719
def get_debug_queries(): ...
1820

19-
class Pagination:
20-
query: Any
21-
page: Any
22-
per_page: Any
23-
total: Any
21+
_T = TypeVar("_T")
22+
23+
class BaseQuery(Query[_T]):
24+
def get_or_404(self, ident, description: Incomplete | None = ...): ...
25+
def first_or_404(self, description: Incomplete | None = ...): ...
26+
def paginate(
27+
self,
28+
page: Incomplete | None = ...,
29+
per_page: Incomplete | None = ...,
30+
error_out: bool = ...,
31+
max_per_page: Incomplete | None = ...,
32+
) -> Pagination[_T]: ...
33+
34+
class Pagination(Generic[_T]):
35+
query: BaseQuery[_T] | None
36+
page: int
37+
per_page: int
38+
total: int | None
2439
items: Any
25-
def __init__(self, query, page, per_page, total, items) -> None: ...
40+
def __init__(self, query: BaseQuery[_T] | None, page: int, per_page: int, total: int | None, items) -> None: ...
2641
@property
27-
def pages(self): ...
28-
def prev(self, error_out: bool = ...): ...
42+
def pages(self) -> int: ...
43+
def prev(self, error_out: bool = ...) -> Pagination[_T]: ...
2944
@property
30-
def prev_num(self): ...
45+
def prev_num(self) -> int | None: ...
3146
@property
32-
def has_prev(self): ...
33-
def next(self, error_out: bool = ...): ...
47+
def has_prev(self) -> bool: ...
48+
def next(self, error_out: bool = ...) -> Pagination[_T]: ...
3449
@property
35-
def has_next(self): ...
50+
def has_next(self) -> bool: ...
3651
@property
37-
def next_num(self): ...
52+
def next_num(self) -> int | None: ...
3853
def iter_pages(
3954
self, left_edge: int = ..., left_current: int = ..., right_current: int = ..., right_edge: int = ...
40-
) -> None: ...
41-
42-
_T = TypeVar("_T")
43-
44-
class BaseQuery(Query[_T]):
45-
def get_or_404(self, ident, description: Any | None = ...): ...
46-
def first_or_404(self, description: Any | None = ...): ...
47-
def paginate(
48-
self, page: Any | None = ..., per_page: Any | None = ..., error_out: bool = ..., max_per_page: Any | None = ...
49-
): ...
55+
) -> Generator[int | None, None, None]: ...
5056

5157
def get_state(app): ...
5258

0 commit comments

Comments
 (0)