Skip to content

Commit 7c51aa2

Browse files
stainless-app[bot]stainless-bot
authored andcommitted
feat: update via SDK Studio (#105)
1 parent ee72c2f commit 7c51aa2

File tree

10 files changed

+61
-87
lines changed

10 files changed

+61
-87
lines changed

api.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -2920,12 +2920,12 @@ Methods:
29202920
Types:
29212921

29222922
```python
2923-
from cloudflare.types.kv.namespaces import WorkersKVKey, KeyListResponse
2923+
from cloudflare.types.kv.namespaces import WorkersKVKey
29242924
```
29252925

29262926
Methods:
29272927

2928-
- <code title="get /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/keys">client.kv.namespaces.keys.<a href="./src/cloudflare/resources/kv/namespaces/keys.py">list</a>(namespace_id, \*, account_id, \*\*<a href="src/cloudflare/types/kv/namespaces/key_list_params.py">params</a>) -> <a href="./src/cloudflare/types/kv/namespaces/key_list_response.py">KeyListResponse</a></code>
2928+
- <code title="get /accounts/{account_id}/storage/kv/namespaces/{namespace_id}/keys">client.kv.namespaces.keys.<a href="./src/cloudflare/resources/kv/namespaces/keys.py">list</a>(namespace_id, \*, account_id, \*\*<a href="src/cloudflare/types/kv/namespaces/key_list_params.py">params</a>) -> <a href="./src/cloudflare/types/kv/namespaces/workers_kv_key.py">SyncCursorPagination[WorkersKVKey]</a></code>
29292929

29302930
### Metadata
29312931

@@ -2976,12 +2976,12 @@ Methods:
29762976
Types:
29772977

29782978
```python
2979-
from cloudflare.types.durable_objects.namespaces import WorkersObject, ObjectListResponse
2979+
from cloudflare.types.durable_objects.namespaces import WorkersObject
29802980
```
29812981

29822982
Methods:
29832983

2984-
- <code title="get /accounts/{account_id}/workers/durable_objects/namespaces/{id}/objects">client.durable_objects.namespaces.objects.<a href="./src/cloudflare/resources/durable_objects/namespaces/objects.py">list</a>(id, \*, account_id, \*\*<a href="src/cloudflare/types/durable_objects/namespaces/object_list_params.py">params</a>) -> <a href="./src/cloudflare/types/durable_objects/namespaces/object_list_response.py">Optional</a></code>
2984+
- <code title="get /accounts/{account_id}/workers/durable_objects/namespaces/{id}/objects">client.durable_objects.namespaces.objects.<a href="./src/cloudflare/resources/durable_objects/namespaces/objects.py">list</a>(id, \*, account_id, \*\*<a href="src/cloudflare/types/durable_objects/namespaces/object_list_params.py">params</a>) -> <a href="./src/cloudflare/types/durable_objects/namespaces/workers_object.py">SyncCursorPagination[WorkersObject]</a></code>
29852985

29862986
# Queues
29872987

src/cloudflare/pagination.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -151,15 +151,15 @@ class CursorPaginationResultInfo(BaseModel):
151151

152152

153153
class SyncCursorPagination(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
154-
result: Optional[object] = None
154+
result: List[_T]
155155
result_info: Optional[CursorPaginationResultInfo] = None
156156

157157
@override
158158
def _get_page_items(self) -> List[_T]:
159-
data = self.data
160-
if not data:
159+
result = self.result
160+
if not result:
161161
return []
162-
return data
162+
return result
163163

164164
@override
165165
def next_page_info(self) -> Optional[PageInfo]:
@@ -173,15 +173,15 @@ def next_page_info(self) -> Optional[PageInfo]:
173173

174174

175175
class AsyncCursorPagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
176-
result: Optional[object] = None
176+
result: List[_T]
177177
result_info: Optional[CursorPaginationResultInfo] = None
178178

179179
@override
180180
def _get_page_items(self) -> List[_T]:
181-
data = self.data
182-
if not data:
181+
result = self.result
182+
if not result:
183183
return []
184-
return data
184+
return result
185185

186186
@override
187187
def next_page_info(self) -> Optional[PageInfo]:

src/cloudflare/resources/durable_objects/namespaces/objects.py

+14-18
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,10 @@
22

33
from __future__ import annotations
44

5-
from typing import Type, Optional, cast
6-
75
import httpx
86

97
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10-
from ...._utils import (
11-
maybe_transform,
12-
async_maybe_transform,
13-
)
8+
from ...._utils import maybe_transform
149
from ...._compat import cached_property
1510
from ...._resource import SyncAPIResource, AsyncAPIResource
1611
from ...._response import (
@@ -19,11 +14,12 @@
1914
async_to_raw_response_wrapper,
2015
async_to_streamed_response_wrapper,
2116
)
22-
from ...._wrappers import ResultWrapper
17+
from ....pagination import SyncCursorPagination, AsyncCursorPagination
2318
from ...._base_client import (
19+
AsyncPaginator,
2420
make_request_options,
2521
)
26-
from ....types.durable_objects.namespaces import ObjectListResponse, object_list_params
22+
from ....types.durable_objects.namespaces import WorkersObject, object_list_params
2723

2824
__all__ = ["Objects", "AsyncObjects"]
2925

@@ -50,7 +46,7 @@ def list(
5046
extra_query: Query | None = None,
5147
extra_body: Body | None = None,
5248
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
53-
) -> Optional[ObjectListResponse]:
49+
) -> SyncCursorPagination[WorkersObject]:
5450
"""
5551
Returns the Durable Objects in a given namespace.
5652
@@ -78,8 +74,9 @@ def list(
7874
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
7975
if not id:
8076
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
81-
return self._get(
77+
return self._get_api_list(
8278
f"/accounts/{account_id}/workers/durable_objects/namespaces/{id}/objects",
79+
page=SyncCursorPagination[WorkersObject],
8380
options=make_request_options(
8481
extra_headers=extra_headers,
8582
extra_query=extra_query,
@@ -92,9 +89,8 @@ def list(
9289
},
9390
object_list_params.ObjectListParams,
9491
),
95-
post_parser=ResultWrapper._unwrapper,
9692
),
97-
cast_to=cast(Type[Optional[ObjectListResponse]], ResultWrapper[ObjectListResponse]),
93+
model=WorkersObject,
9894
)
9995

10096

@@ -107,7 +103,7 @@ def with_raw_response(self) -> AsyncObjectsWithRawResponse:
107103
def with_streaming_response(self) -> AsyncObjectsWithStreamingResponse:
108104
return AsyncObjectsWithStreamingResponse(self)
109105

110-
async def list(
106+
def list(
111107
self,
112108
id: str,
113109
*,
@@ -120,7 +116,7 @@ async def list(
120116
extra_query: Query | None = None,
121117
extra_body: Body | None = None,
122118
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
123-
) -> Optional[ObjectListResponse]:
119+
) -> AsyncPaginator[WorkersObject, AsyncCursorPagination[WorkersObject]]:
124120
"""
125121
Returns the Durable Objects in a given namespace.
126122
@@ -148,23 +144,23 @@ async def list(
148144
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
149145
if not id:
150146
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
151-
return await self._get(
147+
return self._get_api_list(
152148
f"/accounts/{account_id}/workers/durable_objects/namespaces/{id}/objects",
149+
page=AsyncCursorPagination[WorkersObject],
153150
options=make_request_options(
154151
extra_headers=extra_headers,
155152
extra_query=extra_query,
156153
extra_body=extra_body,
157154
timeout=timeout,
158-
query=await async_maybe_transform(
155+
query=maybe_transform(
159156
{
160157
"cursor": cursor,
161158
"limit": limit,
162159
},
163160
object_list_params.ObjectListParams,
164161
),
165-
post_parser=ResultWrapper._unwrapper,
166162
),
167-
cast_to=cast(Type[Optional[ObjectListResponse]], ResultWrapper[ObjectListResponse]),
163+
model=WorkersObject,
168164
)
169165

170166

src/cloudflare/resources/kv/namespaces/keys.py

+14-18
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,10 @@
22

33
from __future__ import annotations
44

5-
from typing import Type, cast
6-
75
import httpx
86

97
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10-
from ...._utils import (
11-
maybe_transform,
12-
async_maybe_transform,
13-
)
8+
from ...._utils import maybe_transform
149
from ...._compat import cached_property
1510
from ...._resource import SyncAPIResource, AsyncAPIResource
1611
from ...._response import (
@@ -19,11 +14,12 @@
1914
async_to_raw_response_wrapper,
2015
async_to_streamed_response_wrapper,
2116
)
22-
from ...._wrappers import ResultWrapper
17+
from ....pagination import SyncCursorPagination, AsyncCursorPagination
2318
from ...._base_client import (
19+
AsyncPaginator,
2420
make_request_options,
2521
)
26-
from ....types.kv.namespaces import KeyListResponse, key_list_params
22+
from ....types.kv.namespaces import WorkersKVKey, key_list_params
2723

2824
__all__ = ["Keys", "AsyncKeys"]
2925

@@ -51,7 +47,7 @@ def list(
5147
extra_query: Query | None = None,
5248
extra_body: Body | None = None,
5349
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
54-
) -> KeyListResponse:
50+
) -> SyncCursorPagination[WorkersKVKey]:
5551
"""
5652
Lists a namespace's keys.
5753
@@ -83,8 +79,9 @@ def list(
8379
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
8480
if not namespace_id:
8581
raise ValueError(f"Expected a non-empty value for `namespace_id` but received {namespace_id!r}")
86-
return self._get(
82+
return self._get_api_list(
8783
f"/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/keys",
84+
page=SyncCursorPagination[WorkersKVKey],
8885
options=make_request_options(
8986
extra_headers=extra_headers,
9087
extra_query=extra_query,
@@ -98,9 +95,8 @@ def list(
9895
},
9996
key_list_params.KeyListParams,
10097
),
101-
post_parser=ResultWrapper._unwrapper,
10298
),
103-
cast_to=cast(Type[KeyListResponse], ResultWrapper[KeyListResponse]),
99+
model=WorkersKVKey,
104100
)
105101

106102

@@ -113,7 +109,7 @@ def with_raw_response(self) -> AsyncKeysWithRawResponse:
113109
def with_streaming_response(self) -> AsyncKeysWithStreamingResponse:
114110
return AsyncKeysWithStreamingResponse(self)
115111

116-
async def list(
112+
def list(
117113
self,
118114
namespace_id: str,
119115
*,
@@ -127,7 +123,7 @@ async def list(
127123
extra_query: Query | None = None,
128124
extra_body: Body | None = None,
129125
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
130-
) -> KeyListResponse:
126+
) -> AsyncPaginator[WorkersKVKey, AsyncCursorPagination[WorkersKVKey]]:
131127
"""
132128
Lists a namespace's keys.
133129
@@ -159,24 +155,24 @@ async def list(
159155
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
160156
if not namespace_id:
161157
raise ValueError(f"Expected a non-empty value for `namespace_id` but received {namespace_id!r}")
162-
return await self._get(
158+
return self._get_api_list(
163159
f"/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/keys",
160+
page=AsyncCursorPagination[WorkersKVKey],
164161
options=make_request_options(
165162
extra_headers=extra_headers,
166163
extra_query=extra_query,
167164
extra_body=extra_body,
168165
timeout=timeout,
169-
query=await async_maybe_transform(
166+
query=maybe_transform(
170167
{
171168
"cursor": cursor,
172169
"limit": limit,
173170
"prefix": prefix,
174171
},
175172
key_list_params.KeyListParams,
176173
),
177-
post_parser=ResultWrapper._unwrapper,
178174
),
179-
cast_to=cast(Type[KeyListResponse], ResultWrapper[KeyListResponse]),
175+
model=WorkersKVKey,
180176
)
181177

182178

src/cloudflare/types/durable_objects/namespaces/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@
44

55
from .workers_object import WorkersObject as WorkersObject
66
from .object_list_params import ObjectListParams as ObjectListParams
7-
from .object_list_response import ObjectListResponse as ObjectListResponse

src/cloudflare/types/durable_objects/namespaces/object_list_response.py

-9
This file was deleted.

src/cloudflare/types/kv/namespaces/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
from .workers_kv_key import WorkersKVKey as WorkersKVKey
66
from .key_list_params import KeyListParams as KeyListParams
7-
from .key_list_response import KeyListResponse as KeyListResponse
87
from .bulk_delete_params import BulkDeleteParams as BulkDeleteParams
98
from .bulk_update_params import BulkUpdateParams as BulkUpdateParams
109
from .value_get_response import ValueGetResponse as ValueGetResponse

src/cloudflare/types/kv/namespaces/key_list_response.py

-9
This file was deleted.

0 commit comments

Comments
 (0)