@@ -31,7 +31,10 @@ class SyncSinglePage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
31
31
32
32
@override
33
33
def _get_page_items (self ) -> List [_T ]:
34
- return self .items
34
+ items = self .items
35
+ if not items :
36
+ return []
37
+ return items
35
38
36
39
@override
37
40
def next_page_info (self ) -> None :
@@ -56,7 +59,10 @@ class AsyncSinglePage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
56
59
57
60
@override
58
61
def _get_page_items (self ) -> List [_T ]:
59
- return self .items
62
+ items = self .items
63
+ if not items :
64
+ return []
65
+ return items
60
66
61
67
@override
62
68
def next_page_info (self ) -> None :
@@ -81,7 +87,10 @@ class SyncResponsesPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
81
87
82
88
@override
83
89
def _get_page_items (self ) -> List [_T ]:
84
- return self .responses
90
+ responses = self .responses
91
+ if not responses :
92
+ return []
93
+ return responses
85
94
86
95
@override
87
96
def next_page_info (self ) -> None :
@@ -97,7 +106,10 @@ class AsyncResponsesPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
97
106
98
107
@override
99
108
def _get_page_items (self ) -> List [_T ]:
100
- return self .responses
109
+ responses = self .responses
110
+ if not responses :
111
+ return []
112
+ return responses
101
113
102
114
@override
103
115
def next_page_info (self ) -> None :
@@ -110,107 +122,137 @@ def next_page_info(self) -> None:
110
122
111
123
class SyncIndividualsPage (BaseSyncPage [_T ], BasePage [_T ], Generic [_T ]):
112
124
individuals : List [_T ]
125
+ """The array of employees."""
113
126
paging : Paging
114
127
115
128
@override
116
129
def _get_page_items (self ) -> List [_T ]:
117
- return self .individuals
130
+ individuals = self .individuals
131
+ if not individuals :
132
+ return []
133
+ return individuals
118
134
119
135
@override
120
136
def next_page_info (self ) -> Optional [PageInfo ]:
121
- offset = self .paging .offset
137
+ offset = None
138
+ if self .paging is not None : # pyright: ignore[reportUnnecessaryComparison]
139
+ offset = self .paging .offset
122
140
if offset is None :
123
141
return None
124
142
125
- length = len (self .individuals )
143
+ length = len (self ._get_page_items () )
126
144
current_count = offset + length
127
145
128
- total_count = self .paging .count
129
- if total_count is None :
146
+ count = None
147
+ if self .paging is not None : # pyright: ignore[reportUnnecessaryComparison]
148
+ count = self .paging .count
149
+ if count is None :
130
150
return None
131
151
132
- if current_count < total_count :
152
+ if current_count < count :
133
153
return PageInfo (params = {"offset" : current_count })
134
154
135
155
return None
136
156
137
157
138
158
class AsyncIndividualsPage (BaseAsyncPage [_T ], BasePage [_T ], Generic [_T ]):
139
159
individuals : List [_T ]
160
+ """The array of employees."""
140
161
paging : Paging
141
162
142
163
@override
143
164
def _get_page_items (self ) -> List [_T ]:
144
- return self .individuals
165
+ individuals = self .individuals
166
+ if not individuals :
167
+ return []
168
+ return individuals
145
169
146
170
@override
147
171
def next_page_info (self ) -> Optional [PageInfo ]:
148
- offset = self .paging .offset
172
+ offset = None
173
+ if self .paging is not None : # pyright: ignore[reportUnnecessaryComparison]
174
+ offset = self .paging .offset
149
175
if offset is None :
150
176
return None
151
177
152
- length = len (self .individuals )
178
+ length = len (self ._get_page_items () )
153
179
current_count = offset + length
154
180
155
- total_count = self .paging .count
156
- if total_count is None :
181
+ count = None
182
+ if self .paging is not None : # pyright: ignore[reportUnnecessaryComparison]
183
+ count = self .paging .count
184
+ if count is None :
157
185
return None
158
186
159
- if current_count < total_count :
187
+ if current_count < count :
160
188
return PageInfo (params = {"offset" : current_count })
161
189
162
190
return None
163
191
164
192
165
193
class SyncPage (BaseSyncPage [_T ], BasePage [_T ], Generic [_T ]):
166
- paging : Paging
167
194
data : List [_T ]
195
+ paging : Paging
168
196
169
197
@override
170
198
def _get_page_items (self ) -> List [_T ]:
171
- return self .data
199
+ data = self .data
200
+ if not data :
201
+ return []
202
+ return data
172
203
173
204
@override
174
205
def next_page_info (self ) -> Optional [PageInfo ]:
175
- offset = self .paging .offset
206
+ offset = None
207
+ if self .paging is not None : # pyright: ignore[reportUnnecessaryComparison]
208
+ offset = self .paging .offset
176
209
if offset is None :
177
210
return None
178
211
179
- length = len (self .data )
212
+ length = len (self ._get_page_items () )
180
213
current_count = offset + length
181
214
182
- total_count = self .paging .count
183
- if total_count is None :
215
+ count = None
216
+ if self .paging is not None : # pyright: ignore[reportUnnecessaryComparison]
217
+ count = self .paging .count
218
+ if count is None :
184
219
return None
185
220
186
- if current_count < total_count :
221
+ if current_count < count :
187
222
return PageInfo (params = {"offset" : current_count })
188
223
189
224
return None
190
225
191
226
192
227
class AsyncPage (BaseAsyncPage [_T ], BasePage [_T ], Generic [_T ]):
193
- paging : Paging
194
228
data : List [_T ]
229
+ paging : Paging
195
230
196
231
@override
197
232
def _get_page_items (self ) -> List [_T ]:
198
- return self .data
233
+ data = self .data
234
+ if not data :
235
+ return []
236
+ return data
199
237
200
238
@override
201
239
def next_page_info (self ) -> Optional [PageInfo ]:
202
- offset = self .paging .offset
240
+ offset = None
241
+ if self .paging is not None : # pyright: ignore[reportUnnecessaryComparison]
242
+ offset = self .paging .offset
203
243
if offset is None :
204
244
return None
205
245
206
- length = len (self .data )
246
+ length = len (self ._get_page_items () )
207
247
current_count = offset + length
208
248
209
- total_count = self .paging .count
210
- if total_count is None :
249
+ count = None
250
+ if self .paging is not None : # pyright: ignore[reportUnnecessaryComparison]
251
+ count = self .paging .count
252
+ if count is None :
211
253
return None
212
254
213
- if current_count < total_count :
255
+ if current_count < count :
214
256
return PageInfo (params = {"offset" : current_count })
215
257
216
258
return None
0 commit comments