Commit 5d2afd7
fix(pagination): correct type:ignore placement; stop on 0 sentinel
Two review follow-ups, both classes:
- Move '# type: ignore[unreachable]' from the 'if next_offset is None:' line
onto the first body statement ('if self.has_more:'). Under warn_unreachable
mypy reports the unreachable diagnostic at the first body statement, so the
ignore must sit there or the lint fails. Verified with mypy==1.17.0.
- Treat next_offset == 0 as a stop, not an advancing offset (matching the Go
and Node SDKs). A real next-page offset is always offset+limit >= 1, so 0 is
unambiguously the last-page sentinel. New test asserts via next_page_info
directly under has_more=True so the has_more gate can't mask it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 843fade commit 5d2afd7
2 files changed
Lines changed: 25 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
43 | | - | |
| 42 | + | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
51 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
52 | 56 | | |
53 | 57 | | |
54 | 58 | | |
| |||
86 | 90 | | |
87 | 91 | | |
88 | 92 | | |
89 | | - | |
90 | | - | |
| 93 | + | |
| 94 | + | |
91 | 95 | | |
92 | 96 | | |
93 | 97 | | |
94 | 98 | | |
95 | 99 | | |
96 | 100 | | |
97 | | - | |
98 | | - | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
99 | 107 | | |
100 | 108 | | |
101 | 109 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | | - | |
46 | | - | |
| 44 | + | |
47 | 45 | | |
48 | 46 | | |
49 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
50 | 56 | | |
51 | 57 | | |
52 | 58 | | |
| |||
0 commit comments