Skip to content

Commit cf4cb39

Browse files
chore(internal): codegen related update (#583)
1 parent eaf33d1 commit cf4cb39

File tree

1 file changed

+44
-4
lines changed

1 file changed

+44
-4
lines changed

src/finch/pagination.py

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,17 @@ def next_page_info(self) -> Optional[PageInfo]:
144144
length = len(self._get_page_items())
145145
current_count = offset + length
146146

147-
return PageInfo(params={"offset": current_count})
147+
count = None
148+
if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison]
149+
if self.paging.count is not None:
150+
count = self.paging.count
151+
if count is None:
152+
return None
153+
154+
if current_count < count:
155+
return PageInfo(params={"offset": current_count})
156+
157+
return None
148158

149159

150160
class AsyncIndividualsPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
@@ -171,7 +181,17 @@ def next_page_info(self) -> Optional[PageInfo]:
171181
length = len(self._get_page_items())
172182
current_count = offset + length
173183

174-
return PageInfo(params={"offset": current_count})
184+
count = None
185+
if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison]
186+
if self.paging.count is not None:
187+
count = self.paging.count
188+
if count is None:
189+
return None
190+
191+
if current_count < count:
192+
return PageInfo(params={"offset": current_count})
193+
194+
return None
175195

176196

177197
class SyncPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
@@ -197,7 +217,17 @@ def next_page_info(self) -> Optional[PageInfo]:
197217
length = len(self._get_page_items())
198218
current_count = offset + length
199219

200-
return PageInfo(params={"offset": current_count})
220+
count = None
221+
if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison]
222+
if self.paging.count is not None:
223+
count = self.paging.count
224+
if count is None:
225+
return None
226+
227+
if current_count < count:
228+
return PageInfo(params={"offset": current_count})
229+
230+
return None
201231

202232

203233
class AsyncPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
@@ -223,4 +253,14 @@ def next_page_info(self) -> Optional[PageInfo]:
223253
length = len(self._get_page_items())
224254
current_count = offset + length
225255

226-
return PageInfo(params={"offset": current_count})
256+
count = None
257+
if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison]
258+
if self.paging.count is not None:
259+
count = self.paging.count
260+
if count is None:
261+
return None
262+
263+
if current_count < count:
264+
return PageInfo(params={"offset": current_count})
265+
266+
return None

0 commit comments

Comments
 (0)