Skip to content

Commit

Permalink
feat: update via SDK Studio (#104)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed Mar 12, 2024
1 parent 994ce19 commit ee72c2f
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions src/cloudflare/pagination.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
"V4PagePaginationArrayResultInfo",
"SyncV4PagePaginationArray",
"AsyncV4PagePaginationArray",
"CursorPaginationResultInfo",
"SyncCursorPagination",
"AsyncCursorPagination",
]

_T = TypeVar("_T")
Expand Down Expand Up @@ -137,3 +140,55 @@ def next_page_info(self) -> Optional[PageInfo]:
return None

return PageInfo(params={"page": current_page + 1})


class CursorPaginationResultInfo(BaseModel):
count: Optional[int] = None

cursor: Optional[str] = None

per_page: Optional[int] = None


class SyncCursorPagination(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
result: Optional[object] = None
result_info: Optional[CursorPaginationResultInfo] = None

@override
def _get_page_items(self) -> List[_T]:
data = self.data
if not data:
return []
return data

@override
def next_page_info(self) -> Optional[PageInfo]:
cursor = None
if self.result_info is not None:
cursor = self.result_info.cursor
if not cursor:
return None

return PageInfo(params={"cursor": cursor})


class AsyncCursorPagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
result: Optional[object] = None
result_info: Optional[CursorPaginationResultInfo] = None

@override
def _get_page_items(self) -> List[_T]:
data = self.data
if not data:
return []
return data

@override
def next_page_info(self) -> Optional[PageInfo]:
cursor = None
if self.result_info is not None:
cursor = self.result_info.cursor
if not cursor:
return None

return PageInfo(params={"cursor": cursor})

0 comments on commit ee72c2f

Please sign in to comment.