apaas-oapi-client 0.1.22 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -169,12 +169,17 @@ class Client {
|
|
|
169
169
|
let total = 0;
|
|
170
170
|
let page = 0;
|
|
171
171
|
let totalPages = 0;
|
|
172
|
+
let hasMore = true;
|
|
172
173
|
const pageSize = data.page_size || 100;
|
|
173
|
-
|
|
174
|
+
while (hasMore) {
|
|
174
175
|
await functionLimiter(async () => {
|
|
175
176
|
var _a, _b, _c, _d;
|
|
176
177
|
const mergedData = { ...data };
|
|
177
|
-
|
|
178
|
+
// 如果使用 page_token,第一页需要传空字符串
|
|
179
|
+
if (data.use_page_token) {
|
|
180
|
+
mergedData.page_token = nextPageToken || '';
|
|
181
|
+
}
|
|
182
|
+
else if (nextPageToken) {
|
|
178
183
|
mergedData.page_token = nextPageToken;
|
|
179
184
|
}
|
|
180
185
|
const res = await this.object.search.records({
|
|
@@ -197,15 +202,17 @@ class Client {
|
|
|
197
202
|
this.log(LoggerLevel.info, `[object.search.recordsWithIterator] Starting paginated query: ${object_name}, total=${total}, pages=${totalPages}`);
|
|
198
203
|
}
|
|
199
204
|
nextPageToken = (_a = res.data) === null || _a === void 0 ? void 0 : _a.next_page_token;
|
|
205
|
+
// 检查是否还有更多数据:next_page_token 存在且不为空字符串
|
|
206
|
+
hasMore = !!(nextPageToken && nextPageToken !== '' && nextPageToken !== 'null');
|
|
200
207
|
const padLength = totalPages.toString().length;
|
|
201
208
|
const pageStr = page.toString().padStart(padLength, '0');
|
|
202
209
|
const totalPagesStr = totalPages.toString().padStart(padLength, '0');
|
|
203
210
|
this.log(LoggerLevel.info, `[object.search.recordsWithIterator] Page completed: [${pageStr}/${totalPagesStr}]`);
|
|
204
|
-
this.log(LoggerLevel.debug, `[object.search.recordsWithIterator] Page ${page} details: items=${(_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c.length}, nextToken=${nextPageToken || 'none'}`);
|
|
211
|
+
this.log(LoggerLevel.debug, `[object.search.recordsWithIterator] Page ${page} details: items=${(_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c.length}, nextToken=${nextPageToken || 'none'}, hasMore=${hasMore}`);
|
|
205
212
|
this.log(LoggerLevel.trace, `[object.search.recordsWithIterator] Page ${page} data: ${JSON.stringify((_d = res.data) === null || _d === void 0 ? void 0 : _d.items)}`);
|
|
206
213
|
return res;
|
|
207
214
|
});
|
|
208
|
-
}
|
|
215
|
+
}
|
|
209
216
|
return { total, items: results };
|
|
210
217
|
}
|
|
211
218
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apaas-oapi-client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.24",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dist/index.js",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"build": "rollup -c",
|
|
13
13
|
"test": "jest",
|
|
14
|
+
"test:manual": "tsx test/test.ts",
|
|
14
15
|
"dev": "ts-node src/index.ts",
|
|
15
16
|
"release": "npm run build && npm version patch && git push origin main --follow-tags"
|
|
16
17
|
},
|
package/src/index.ts
CHANGED
|
@@ -309,13 +309,17 @@ class Client {
|
|
|
309
309
|
let total = 0;
|
|
310
310
|
let page = 0;
|
|
311
311
|
let totalPages = 0;
|
|
312
|
+
let hasMore = true;
|
|
312
313
|
|
|
313
314
|
const pageSize = data.page_size || 100;
|
|
314
315
|
|
|
315
|
-
|
|
316
|
+
while (hasMore) {
|
|
316
317
|
const pageRes = await functionLimiter(async () => {
|
|
317
318
|
const mergedData: any = { ...data };
|
|
318
|
-
|
|
319
|
+
// 如果使用 page_token,第一页需要传空字符串
|
|
320
|
+
if (data.use_page_token) {
|
|
321
|
+
mergedData.page_token = nextPageToken || '';
|
|
322
|
+
} else if (nextPageToken) {
|
|
319
323
|
mergedData.page_token = nextPageToken;
|
|
320
324
|
}
|
|
321
325
|
|
|
@@ -345,18 +349,21 @@ class Client {
|
|
|
345
349
|
}
|
|
346
350
|
|
|
347
351
|
nextPageToken = res.data?.next_page_token;
|
|
352
|
+
|
|
353
|
+
// 检查是否还有更多数据:next_page_token 存在且不为空字符串
|
|
354
|
+
hasMore = !!(nextPageToken && nextPageToken !== '' && nextPageToken !== 'null');
|
|
348
355
|
|
|
349
356
|
const padLength = totalPages.toString().length;
|
|
350
357
|
const pageStr = page.toString().padStart(padLength, '0');
|
|
351
358
|
const totalPagesStr = totalPages.toString().padStart(padLength, '0');
|
|
352
359
|
|
|
353
360
|
this.log(LoggerLevel.info, `[object.search.recordsWithIterator] Page completed: [${pageStr}/${totalPagesStr}]`);
|
|
354
|
-
this.log(LoggerLevel.debug, `[object.search.recordsWithIterator] Page ${page} details: items=${res.data?.items?.length}, nextToken=${nextPageToken || 'none'}`);
|
|
361
|
+
this.log(LoggerLevel.debug, `[object.search.recordsWithIterator] Page ${page} details: items=${res.data?.items?.length}, nextToken=${nextPageToken || 'none'}, hasMore=${hasMore}`);
|
|
355
362
|
this.log(LoggerLevel.trace, `[object.search.recordsWithIterator] Page ${page} data: ${JSON.stringify(res.data?.items)}`);
|
|
356
363
|
|
|
357
364
|
return res;
|
|
358
365
|
});
|
|
359
|
-
}
|
|
366
|
+
}
|
|
360
367
|
|
|
361
368
|
return { total, items: results };
|
|
362
369
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|